[root]/branches/LMDZ-tracers/libf/dynphy_lonlat
phylmd
(5 files, 2356 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
dcugnet | 6 (100.0%) | 6 (100.0%) | 1.0 |
Extension of the tracers management.
The tracers files can be:
1) "traceur.def": old format, with:
- the number of tracers on the first line
- one line for each tracer: <tracer name> <hadv> <vadv> [<parent name>]
2) "tracer.def": new format with one section each model component.
3) "tracer_<name>.def": new format with a single section.
The formats 2 and 3 reading is driven by the "type_trac" key, which can be a
coma-separated list of components.
* Format 2: read the sections from the "tracer.def" file.
* format 3: read one section each "tracer_<section name>.def" file.
* the first line of a section is "&<section name>
* the other lines start with a tracer name followed by <key>=<val> pairs.
* the "default" tracer name is reserved ; the other tracers of the section
inherit its <key>=<val>, except for the keys that are redefined locally.
This format helps keeping the tracers files compact, thanks to the "default"
special tracer and the three levels of factorization:
* on the tracers names: a tracer name can be a coma-separated list of tracers
=> all the tracers of the list have the same <key>=<val> properties
* on the parents names: the value of the "parent" property can be a
coma-separated list of tracers
=> only possible for geographic tagging tracers
* on the phases: the property "phases" is [g](l][s] (gas/liquid/solid)
Read information is stored in the vector "tracers(:)", of derived type "tra".
"isotopes_params.def" is a similar file, with one section each isotopes family.
It contains a database of isotopes properties ; if there are second generation
tracers (isotopes), the corresponding sections are read.
Read information is stored in the vector "isotopes(:)", of derived type "iso".
The "getKey" function helps to get the values of the parameters stored in
"tracers" or "isotopes".
6 lines of code changed in 6 files: