.. _traceur.azote: Traceur Azote ou Phosphore ========================== * Le principe du traçage d'un élément chimique dans le réseau trophique 3D a été défini dans Ménesguen et al. (2006). Il permet de suivre un élément chimique (ici l'azote ou le phosphore) issu d'une zone donnée (une rivière, ou une limite marine) dans le temps et l'espace et à travers les différentes formes qu'il prend dans le réseau trophique (pour l'azote : azote dissous, azote détritique, azote phytoplanctonique, azote zooplanctonique, azote benthique, etc..) * Ce module peut être associé à une option complémentaire qui calcule les âges de cet élément. La théorie ------------- * Le principe du traçage consiste à répliquer, autant de fois qu'il y a de sources de cet élément à tracer séparément, le sous-ensemble des équations d'état décrivant le cycle de l'élément étudié. * Dans l'option **N_tracer** ou **P_tracer** : * Soit Bi l'une des variables biogéochimiques de ce cycle, portant la signature S(Bi). * Son équation courante d’évolution est : :math:`\frac{dBi}{dt} = sources(B1,B2,..Bn,t) - puits(B1,B2,..Bn,t)` \; **[equation 1]** * La nouvelle équation d’évolution de « masse traceur » est: :math:`\frac{dBtrai}{dt} = sources(B1,B2,..Bn,t)*S(source) - puits(B1,B2,..Bn,t)*S(Bi)` \; **[equation 2]** * La signature S(Bi) s’obtient par: :math:`S(Bi)=\frac{Btrai}{Bi}` \; **[equation 3]** * L'option **age_tracer** permet de calculer l'âge de ce traceur biogéochimique depuis son rejet par la source. * Le principe de calcul est le même que précédemment : il faut répliquer cette fois toutes les équations des masses signées pour les appliquer aux masses signées âgées, ce qui, au total, triple le nombre de variables d'état du modèle affectées au cycle de l'élément chimique. * Si A(Bsi) est l’âge moyen de la masse signée Bsi, la nouvelle équation d’évolution de « masse signée et âgée» est : :math:`\frac{dBsai}{dt} = sources(Bs1,Bs2,..Bsn,t)*A(source) - puits(Bs1,Bs2,..Bsn,t)*A(Bsi)+Bsai` \; **[equation 4]** * L’âge de la partie signée A(Bsi) s’obtient par: :math:`A(Bsi) = \frac{Bsai}{Bsi}` \; **[equation 5]** .. _tracer: Application de l'option tracer ------------------------------- * Utilisation de la clé **key_N_tracer** ou **key_P_tracer** (associée aux clés *key_substance* et *key_biolo*) * Ce module n'est utilisable actuellement que pour l'**option 1 de ECOMARS**. * **Définitions** : * la (ou les) **source** : zone origine dans l'espace à partir de laquelle la masse tracée est injectée (fleuve). Leur nombre (*nb_source*) doit être indiqué dans le fichier *parameters.F90*. Le nombre maximum autorisé actuellement est 4. Les sources sont soit des rivières, soit la limite ouverte marine (Nord, Sud, Est et Ouest en même temps). * les **points source** : les différents points qui définissent la zone source. Les points source sont automatiquement créés à partir du nom de chaque source. Si c'est une rivière, les points source sont les points d'input de la riviere; si c'est une orgine "marine", les points sources sont localisés aux limites ouvertes. * les **variables signées** : variables d'état du modèle dans lesquelles l'élément chimique tracé transite. (exemples : NO3, NH4, diatom_N etc..) * les **variables traceurs** : variables qui tracent un élément chimique à travers plusieurs variables d'état "signées". (exemples : NO3_N_tra,diatom_N_tra..). * Plusieurs variables "traceurs" sont définies par source; chacune "trace" l'élément chimique (azote) à travers les variables d'état "signées" du modèle. Il y a autant de variables traceurs qu'il y a de variables d'état signées. * les résultats des calculs sont sauvegardés par des variables diagnostiques qui donnent les **signatures** dans chaque variable signée de l'élément chimique (voir equation 3). Les variables "traceurs" ne sont pas sauvegardées. * L'élément azote est tracé à travers 8 variables (les sels nutritifs : NH4 et NO3, les 3 phytoplanctons et les 2 zooplanctons, l'azote détritique) + l'azote benthique et les variables phytoplancton toxiques si les modules sont activés. * L'élément phosphore est tracé à travers 8 variables (les sels nutritifs : PO4, Padsorbé, les 3 phytoplanctons et les 2 zooplanctons, le phosphore détritique) + le phosphore benthique et les variables phytoplancton toxiques si les modules sont activés. * L'élément phosphore n'étant pas explicitement simulé dans les variables phytoplanctoniques et zooplanctoniques, le traçage s'effectue en suivant l'élément N et en appliquant un rapport N/P constant * Les signatures vont de 0 à 100. * Les variables "traceur" sont automatiquement créées en supplément des variables d'état définies par l'utilisateur dans le fichier *variable.dat*. Elles sont donc rajoutées aux variables d'état et dépendent du nombre de source ; elles correspondent aux variables d'état qu'elles signent [exemple pour N : ammonium, nitrate, les différentes espèces de phyto et de zooplancton, l'azote détritique, et benthique (si key_benthos)]. * Les numéros d'ordre des variables traceurs sont automatiquement repérés et leurs noms correspondent à ceux des variables signées, ainsi que leurs caractéristiques (type de variable, vitesses de chute). Les conditions initiales, les conditions aux limites, les apports etc.. sont nuls pour les variables traceurs, dont le seul apport est à la source, * Les variables "traceur" sont injectées à la source seulement si leur "marque" est égale à 1. Le paramètre **p_marque_tracerN** ou **p_marque_tracerP** est donné dans le fichier de namelist **parabiolo.txt**. * les index iv (rang modèle) de chaque variable signée pour chaque variable traceur sont repérées individuellement pour chaque source en fonction du nom de la variable signée : iv_zoo_meso_tra_N(is),iv_zoo_micr_tra_N(is),iv_benth_tra_N(is) * L'élément chimique N ou P est apporté avec le même flux que la variable signée aux points source. * **Marche à suivre pour utiliser l'option N_tracer** ou **P_tracer**: * Clé **key_N_tracer** ou **key_P_tracer** dans **Makefile.datarmor** * nombre de source total dans parameters.F90[_rankX] * rajout de la namelist **namtracerN** ou **namtracerP** dans *parabiolo.txt*. * indiquer la date de départ des traceurs (celle ci (date_start_tracerN[/P]) n'est utilisé que pour le calcul des ages avec **key_age_tracer** ). Elle est égale à la date de debut de calcul des substances (**date_startsub**) de la simulation initiale. Elle doit rester la même si le calcul des tracers est poursuivi en relisant les variables tracer dans un fichier de sauvegarde. * indiquer le nombre de source par les rivieres (*nb_source_river_tracerN[/P]* - maximum 4) * le nombre de source par la limite marine (*nb_source_marin_tracerN[/P]*), * les noms des rivières correspondant à chacune de ces sources. | **ATTENTION** : si plusieurs rivières pour une seule source , donner les noms de chaque rivière séparés par un point virgule : | Exemple : p_source_river2_tracerN = 'GIRONDE_GARONNE;GIRONDE_DORDOGNE' * Les marques (*p_marque_tracerN[/P]* =0 ou 1) qui déterminent quelles sont les espèces d'azote [/phosphore] rejetées par ces sources (en général seulement NH4 et NO3 ou PO4 et Pads). * Le nombre total de variables traceurs sera calculé automatiquement et sera égal au nombre total de source (rivieres + marin) multiplié par le nombre de variables tracées. .. _age_tracer: Application de l'option age_tracer ----------------------------------- * Utilisation de la clé **key_age_tracer** (associée aux clés *key_substance* et *key_biolo* et *key_N[/P]_tracer*) * les variables "masse signée et agée" sont des variables supplémentaires dont l'équation de transport est résolue comme pour les autres variables. * Il y a autant de variables "masse signée et agée" que de variables "traceurs". * Ces variables ne sont pas sauvées en tant que telles dans les résultats. Seuls les âges (voir Equation 5) sont sauvés dans des variables diagnostiques. * Si l'élément issu d'une source n'a pas encore atteint une variable dans une zone donnée, l'âge est noté égal à -1 dans les variables diagnostiques. * Les âges sont exprimés en jour. * Si l'âge est supérieur à l'âge maximum possible (calculé en fonction de la date initiale de départ des traceurs : date_start_tracerN[/P] donnée dans parabiolo.txt), l'âge n'est pas ecrit dans le fichier résultat des variables diagnostiques (il est égal à -1) Exemples de resultat -------------------- .. image:: FIG/BIO/image_tracerN.jpg Liste des nouveaux parametres utilisés ----------------------------------------- +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | | signification - usage | dimensions | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | | date_start_tracerN | | date de départ initial de la première simulation avec traceur | | 'DD/MM/YY 00:00:00' | | | | | | (permet de garder le temps initial pour calcul des âges même si date_start | | utilisé seulement si key_age_tracer | | | | | | change dans paracom malgré que ce soit une suite avec reprise des tracers) | | | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | | nb_source_tracer_N | | nombre de source pour tracer l'azote | | | | | | | (correspond à source A, B, C de la version d'Alain) | | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | nb_points_source | nombre de points source par source | nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | nb_var_tracer | nombre de variable "traceur" | nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | iv_tracer_N | index de la variable "traceur" (rang modele) | nb_var_tracer_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | isubs_tracer_N | numero de la variable "traceur" (rang lu) | nb_var_tracer_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | iv_signed_N | index de la variable "signée" que le "traceur" suit (rang modele) | nb_var_tracer_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | isubs_signed_N | numero de la variable signée" que le "traceur" suit (rang lu dans fichier) | nb_var_tracer_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | p_i_tracerN | parametre indiquant la coordonnée i de la source du traceur | nb_points_source_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | p_j_tracerN | parametre indiquant la coordonnée j de la source du traceur | nb_points_source_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | p_k_tracerN | parametre indiquant la coordonnée k de la source du traceur | nb_points_source_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | p_marque_tracerN | paramètre indiquant la marque de la source du traceur| | nb_var_tracer_max,nb_source_tracer_N) | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | ndiag_tracerN | nombre de varaible diagnostiques correspondant au traceur | | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+ | | id_tracer_signN | index de la variable diagnostique indiquant la fraction de N tracé | nb_var_tracer_max,nb_source_tracer_N | +--------------+----------------------------+-------------------------------------------------------------------------------+-------------------------------------------+