Arctic Ocean Net Primary Production Model Code
Notice bibliographique
Résumé
Contributors listed in alphabetical order Model Description The Takuvik Net Primary Production (TNPP) model is a light photosynthesis model that uses satellite data to estimate the net primary production (NPP) in the Arctic Ocean. The model was run on a Pan-Arctic scale (above 45°N), at 4 km resolution, and comes from the updated depth and wavelength resolved model from Belanger et al. (2013). The update includes improved resolution of atmospheric products and the addition of verticality for the chlorophyll profile according to Ardyna et al. (2013). The model was originally run using MODIS reflectances as input data. Currently the TNPP model was adapted to use reflectances at the same wavelengths as initially but derived from ESA's OC-CCI v6.0 product. Other inputs needed to run the model are atmospheric variables, bathymetry and chlorophyll-a concentration. The latter variable was estimated with a semi-analytical GSM algorithm, which, according to the work of Li et al., (2024), performed better than other ocean colour models to estimate chlorophyll-a in the Arctic Ocean. A description of the NPP model, including input data, methods, intermediate variables, constant values and photosynthesis models, is available in the articles by Belanger et al. (2013) and Li et al. (2024). Input files An input dataset for 2019-08-17 (day number 229 of the year 2019) has been uploaded to be used as an example to run the model including the bathymetry, reflectances, chlorophyll-a concentration and atmospheric data. Once you have downloaded the ppv1.zip file from this Zenodo repository and unzipped it on your computer, the input data for the example will be in the folder where you unzipped the file ( /ppv1/tutorial/inputs/) Atmospheric variables. The irradiance at the sea surface is retrieved using look-up-table of Ed (0+, lamda, t) at 5nm resolution each 3h time step, derived from the Santa Barbara DISORT Atmospheric Radiative Transfer Model (SBDART, Ricchiazi et al.,1998) following the methodology of Bélanger et al. (2013). The inputs data of the look-up-table are the daily values of solar zenith angle (theta_s), cloud fraction (CF) and total ozone concentration (O3) comes from MODIS (Platnick et al., 2015). Other atmospheric parameters such as the water vapor content and aerosol optical thickness were taken from climatological data (Zhang et al., 2004). Reflectances (Rrs). In this version of the TNPP model, daily reflectances from OC-CCI v6.0 data (Sathyendranath et al., 2023) have been used. This level 3 binned (L3b) product is based on a prior reflectance merging from multi-sensor time-series of satellite ocean-colour data. Chlorophyll-a concentration (CHL). The CHLA (mg.m-3) were calculated using the arctic-optimized version of the semi-analytical Garver-Siegel-Maritorena algorithm (GSM) from Li et al. (2024). Bathymetry. The International Bathymetric Chart of the Arctic Ocean (IBCAO) 5.0, which offers a 100 × 100 m grid cells resolution (Jakobsson et al., 2024) was used for the bathymetry. Docker image The Takuvik NPP model has been built in a Docker image. The first step is to install Docker on your machine. Please consult Docker documentation to install Docker on your computer. Download ppv1 docker image Once Docker is installed, you will need to pull the ppv1 image on your machine. At this time, the docker is private and you will need to log on Docker Hub first. Create an account if needed. You can use this link to view the PPv1 image. docker login docker pull takuvik/ppv1 docker login will prompt you for your credential. docker pull takuvik/ppv1 will download the PPv1 docker image on your computer. Modifying the code The code of the model can be modified. Only if you want to modify the code do you need to follow the steps below (build and push ppv1 docker image). Otherwise, you can skip to the Running the ppv1 example section. You will have to first download the ppv1.zip file from this Zenodo repository, and unzip the file in . The ppv1 is also available on GitHub (https://github.com/POMPTakuvik/ppv1.git). Once you have downloaded the ppv1 repository on your local folder, you can browse and modify the source code contained in the Source folder. /ppv1/trunk/Source/ Build ppv1 docker image After you have made modifications to the source code, you will have to rebuild the ppv1 docker: docker build -t ppv1 . Note: You need to be in ppv1/trunk/Source/ folder (where the Dockerfile is located) to run the build command. Push ppv1 docker image docker push takuvik/ppv1 Note: We push the build image to our docker takuvik/ppv1, for you will be /ppv1 Running the ppv1 example Once the ppv1 docker is installed and after a successful docker build you will be able to execute a test run as follows after making some quick changes to the configuration file (see later). It takes about 20 minutes to run a single day (depending on your PC configuration and the number of documented pixels). -v section Docker needs access to the configuration file, input and output paths, which are stored outside of Docker. The -v argument maps [host folder]:[container folder]. These paths will highly depend on your configuration file and your computer setup. docker run -i\-v /ppv1/tutorial/inputs/config:/takuvik/configuration_file \-v /ppv1/tutorial/inputs/:/data/ \takuvik/ppv1 configuration_file/ where / is the folder where is placed the ppv1 unzipped folder, and / is the file that provide information about the input data to use, running start and end dates and vertically (in the example we used the config_example.json) Modifying the ppv1 configuration file ./ppv1/tutorial/inputs/config/config_example.json The two first highlighted terms of the configuration file must be modified to specify the start and end calculation dates. For the "path format" for the input variables, the path to be followed to get the input variables has been defined in the previous step (the -v section). { "calculation_start_date":"2019-08-17T00:00:00.000Z", "calculation_end_date": "2019-08-17T00:00:00.000Z", "calculation_time_step_in_offset_alias": "1D", "input_file": { "takuvik_atmosphere": { "file_path_template_type": "year_and_day_of_year", "file_type": "netcdf_indexed_one_level", "path_format": "/data/MODISA/L3BIN/{}/{}/", "file_name_format": "A{}{}_061_.L3b_DAY_ATMOSPHERE_above_45n.nc", "details": { "index_variable": "bin_index" } }, "takuvik_rrs": { "file_path_template_type": "year_and_day_of_year", "file_type": "netcdf_indexed_one_level", "path_format": "/data/CCI/CCI_v6.0/formatted_for_ppv1/{}/{}/", "file_name_format": "CCI_{}{}_L3b_DAY_RRS_above_45n.nc", "details": { "index_variable": "bin_index" } }, "takuvik_chla": { "file_path_template_type": "year_and_day_of_year", "file_type": "netcdf_from_bloomstate2", "path_format":"/data/Bloomstate2/CCI_v6.0/{}/{}/", "file_name_format": "C{}{}_chlz_00_09.nc", "details": { "index_variable": "bin_index" } }, "takuvik_bathy": { "file_path_template_type": "constant_file", "file_type": "csv", "path_format": "/data/Bathymetry/", "file_name_format": "Province_Zbot_MODISA_L3binV2.csv>, "details": { "index_variable": "bin_index" } }, "other_values": { "file_path_template_type": "constant_file", "file_type": "flat_json", "path_format": "/data/other/", "file_name_format": "other_values_pp_integration.json" }, "downward_irradiance_table": { "file_path_template_type": "constant_file", "file_type": "base", "path_format": "/data/LUTS/", "file_name_format": "Ed0moins_LUT_5nm_v2.dat" } }, "variable": { "rrs_412": { "input_file_name": "takuvik_rrs", "column_name": "Rrs412", "type": "vector" }, "rrs_443": { "input_file_name": "takuvik_rrs", "column_name": "Rrs443", "type": "vector" }, "rrs_488": { "input_file_name": "takuvik_rrs", "column_name": "Rrs488", "type": "vector" }, "rrs_531": { "input_file_name": "takuvik_rrs", "column_name": "Rrs531", "type": "vector" }, "rrs_555": { "input_file_name": "takuvik_rrs", "column_name": "Rrs555", "type": "vector" }, "rrs_667": { "input_file_name": "takuvik_rrs", "column_name": "Rrs667", "type": "vector" }, "cloud_fraction": { "input_file_name": "takuvik_atmosphere", "column_name": "CF_mean", "type": "vector" }, "taucl": { "input_file_name": "takuvik_atmosphere", "column_name": "TauCld_mean", "type": "vector" }, "ozone": { "input_file_name": "takuvik_atmosphere", "column_name": "O3_mean", "type": "vector" }, "latitude": { "input_file_name": "takuvik_rrs", "column_name": "lat", "type": "vector" }, "longitude": { "input_file_name": "takuvik_rrs", "column_name": "lon", "type":
Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.
Comment cette classification a été obtenuedéplier
Prédiction machine sur la base complète
Imitation des enseignantsNi prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.
Scores du classifieur distillé par catégorie (deux têtes)
| Catégorie | Codex | Gemma |
|---|---|---|
| Métarecherche | 0,001 | 0,002 |
| Méta-épidémiologie (sens strict) | 0,001 | 0,000 |
| Méta-épidémiologie (sens large) | 0,001 | 0,001 |
| Bibliométrie | 0,001 | 0,004 |
| Études des sciences et des technologies | 0,001 | 0,000 |
| Communication savante | 0,002 | 0,002 |
| Science ouverte | 0,002 | 0,001 |
| Intégrité de la recherche | 0,001 | 0,002 |
| Charge utile insuffisante (le modèle a refusé de juger) | 0,104 | 0,078 |
Scores machine (provisoires)
Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.
Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.
score_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découleClassification
machine, non validéePrédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.
Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».