source: trunk/docs/README.ecrad @ 616

Last change on this file since 616 was 441, checked in by htune, 2 years ago

Modifs pour tuning ecRad offline LW

ajout de métriques LW dans extract_onemetric_csv.sh mais un peu à l'arrache
(pas très propre en terme de grille verticale notamment)

ajout d'un paramètre dans models/ECRAD/runECRAD/nam2nam.sh et la bonne namelist
ecRad avec ce nouveau paramètre

ajout dans le bench d'une option "dryrun" qui ne fait que le setup puis print
les commandes mais ne les exécute pas (=> permet de savoir les commandes à
lancer à la main par exemple quand on fait du debug et qu'on travaille étape
par étape dans WORK/DIR, en lançant la même commande mais avec l'option -dry et
un autre répertoire de travail temporaire WORK/DIRDRY par exemple)

Najda

File size: 9.4 KB
Line 
1# 13/03/2024
2# Naj : config tuning lw suite à une séance de travail avec Sophia
3
4Pour faire du tuning lw j'ai modifié extract_onemetric_csv.sh
5entre autres...
6
7!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
8!!! ATTENTION  !!! !!! WARNING !!!
9!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10pour l'instant les fichiers de ref que j'ai pour le LW c'est pas la même grille
11verticale que pour les sorties d'ecRad donc je prends pas les premiers et
12derniers niveaux mais autre chose (en bas, le niveau -4 en fait vers 250 m, et
13en haut, le niveau 30 en fait vers 17 km) dans extract_onemetric_csv
14=> c'est un hack temporaire. En vrai il faut que je produise des fichiers de
15référence soit avec les bons niveaux (mais difficile avec htrdr), soit juste un
16point à la surface et un point au même "TOA" que ecRad.
17
18#14/10/2022 : recap travail Najda et Maëlle :
19
20- Mise en place de l'install ECRAD automatique (r315) :
21        - soit quand on précise l'option -model ECRAD dans le bench.sh
22        - soit quand on demande de calculer une métrique radiative
23
24- Actuellement, il y a deux manières de faire du rayonnement avec HighTune :
25        - soit en faisant tourner ecrad offline sur des profils de LES (option -model ECRAD)
26        - soit en faisant tourner ecrad offline sur les profils des SCM tournés précédement avec un modèle. Attention tout de même, certaines hypothèses de conversion de fichiers SCM vers le format d'entree d'ECRAD se basent sur des hypothèses de LMDZ (vérifier les interpolations faites dans ecrad/dephy2ecrad/tools/Interface.py si vous voulez tourner avec d'autres modèles que LMDZ). Dans ce cas, l'option -model doit contenir le nom du GCM utilisé. Implémentation dans les révisions 318, 319, 320, 321, 323
27
28Dans les deux cas, les métriques radiatives doivent commencer par le préfixe RAD, de même que les paramètres radiatifs
29La gestions de savoir quel cas SCM doit être tournés et quel ECRAD doit être tournés est géré automatiquement dans le bench (on peut avoir des métriques radiatives uniquement qui tournent sur des SCM).
30
31Attention, la deuxième option n'est pas encore tout à fait opérationnelle car les SCM (de LMDZ en tout cas) n'ont pas d'atmosphère réaliste au dessus d'un certain niveau (hypothèse de température constante par exemple) alors que ces représentations sont importantes pour évaluer le rayonnement. Des tests sont en cours pour remplacer tout ou une partie des profils ciel clair du SCM (temperature, humidité, gaz, pression) par les profils utilisés pour calculer le rayonnement de reference. Ils ne sont pas encore commit.
32
33# 23/09/2022
34
35# Avec Maelle on va mettre en place
36
37## install de ECRAD automatique
38=> R315, Maelle
39
40## scripts pour passer du format commun au format d'entrée ecrad
41- est ce qu'il faut mettre dephy2ecrad dans ecrad ou à côté ?
42  => dans ecrad
43- est ce qu'on utilise le script lmdz2dephy.sh dans serie_lmdz ?
44  => non pas pour l'instant
45- si oui, est ce qu'on prend aussi la modif du calendrier ?
46- vérifier le truc des positions des couches / milieux de couches
47
48## bench ECRAD opérationnel
49- version bench ecrad offline du papier htune3
50  => en cours
51
52## tuning lmdz + ecrad offline
53- on fait tourner serie_lmdz et serie_ecrad indépendamment
54- le nom des paramètres ecrad et des métriques radiatives : préfixées par RAD_
55- dans le bench : si des métriques commencent par RAD_, faire tourner ecrad
56
57# offline
58# dans serie_ecrad.sh
59- boucler sur paramètres et changer les namelists
60  => boucle externe
61  => que si on a des paramètres avec préfixe RAD_
62  => dupliquer les namelists
63     => ${configbase}-NWAVE-NSIMUL.nam
64  => si non : on utilise la namelist de base
65
66- avoir des profils d'entrée (soit issus de LES soit de SCM)
67  => boucle interne
68  => est ce qu'on est en mode offline standalone ou offline LMDZ ?
69     => argument MODEL à la fin de serie_ecrad.sh
70  => si on est en mode offline LMDZ,
71     dans la boucle sur les simuls,
72     extraire le bon pas de temps,
73     appel dephy2ecrad sur SCM-$il
74  => dupliquer pour différents SZA
75
76- faire tourner ecrad offline et copier les sorties dans WORK/
77  => on fait tourner dans un répertoire ecrad/work/
78  => on copie les sorties et les fichiers de config dans WORK
79
80# On s'arrête la pour l'instant !
81
82- calculer les métriques sur les sorties d'ecrad
83- aller chercher les références dans RAD/CASE/SUBCASE/*.nc
84- calculer les métriques sur les fichiers de ref
85
86- c'est quoi les cas de figure ?
87  - ecrad offline tout seul sur des profils pré existants
88    => ça existe déjà -model ecrad, serie_ecrad.sh
89    => les métriques doivent s'appeler RAD_*
90    => mission Naj retrouver pourquoi exactement
91  - ecrad offline sur des profils SCM-iii pour produire des métriques
92    radiatives mais sans tuner les paramètres d'ecrad
93  - ecrad offline sur des profils SCM-iii pour produire des métriques
94    radiatives en tunant les paramètres d'ecrad
95    => forcément des métriques radiatives
96
97  # pour la partie online, pas de questions, ça passera par
98  - ecrad online pour produire des métriques radiatives sans tuner les
99    paramètres d'ecrad
100  - ecrad online pour produire des métriques radiatives en tunant les
101    paramètres d'ecrad
102
103# Summer 2018, Toulouse, France
104# High Tune project
105# Najda working on Monte Carlo vs ECRAD comparisons. Already have a case were the reference Monte Carlo computations have been done (ARMCu 8th hour : CASE=ARMCU, SUBCASE=REF).
106
107# The objective is to compute the NROY space of ECRAD parameters by comparing, for one cloud field:
108# -> the reference which is 3D Monte Carlo runs (at different solar angles) including atmospheric effects and standard atmosphere above, in the full LES cloud field
109# -> N ECRAD runs performed with perturbed namelists (from param2R.sh and serie_ECRAD.sh)
110# The parameters are cloud inhomogeneity (fractional_std), overlap parameter and low clouds size
111# The metrics are net fluxes at TOA and surface, and direct / total flux at the surface, integrated over the solar spectrum
112
113# If ecrad is alreay installed and compiled, "./bench.sh ecrad" should work. First open models/ECRAD/serie_ECRAD.sh and modify the path to the ecrad folder (variable ECRAD)
114
115# Files in src have been modified to allow comparison between ECRAD and Monte Carlo outputs in particular
116# -> htune_metric.R with a test on the existence of variables to decide which type of file (SCM output or ECRAD output or Monte Carlo output) + radiative metrics
117# -> htune_ncdf2Rdata.R : a new variable is sourced from expe_setup.R : REF it can be either "LES" or "RAD", to decide in which directory is the reference file
118#                        if REF==RAD, then the error is not computed from several profiles but read from variables in the netcdf file (through get_metric(std_metric))
119# -> htune_case_setup.R : added RADARMCU in case_setup() and zmax is now defined in case_setup() instead of plot_setup()
120
121# models/ECRAD contains
122## tuning files
123# -> param : list of tuning parameters
124# -> serie_ECRAD.sh : script to run multiple simulations from a list of parameters
125# -> expe_setup.R   : will be sourced by the other R scripts
126## ECRAD files that should be copied in $ECRAD/test/htune/
127# -> ARMCU008_1D.nc : input profiles
128# -> change_namelist.sh : to change values of parameters in a given namelist (called in serie_ECRAD.sh)
129# -> duplicate_profiles.sh : to duplicate the input profiles with varying solar angle (called in serie_ECRAD.sh)
130# -> config_spartacus.nam  : configuration file
131
132# RAD contains CASE/SUBCASE/RADt.nc the Monte Carlo output for CASE/SUBCASE at timestep t. For now only ARMCU/REF/RAD8.nc exists.
133
134# TODO
135# Bullet code
136# -- : need interaction with someone
137# -  : need doing
138# +  : is done and works
139# *  : is done and bugged
140
141-- save folder RAD somewhere accessible. Same status as folder LES : download once during setup then use as reference. Also case dependent so same structure as LES folder ? eg ARMCU/008/RAD0.nc contains Monte Carlo results computed in the ARMCu008.nc field. Reference runs should be defined beforehand... eg take atmospheric gases into account, ground albedo 0.2, use Mie phase function... then compute radiation at several SZA (a dimenson in the ncdf file).
142
143-- allow download and build of ecrad from a setup_ecrad.sh? Ask Robin because there could be a license problem? Should be protected anyway. Also the version 1.0.1 would not be enough: overlap_decorr_length is not recognized ; entrapment and cloud pdf shape name are not supported + known bugs in monochromatic mode and delta scaling with gas. I use v1.1.0.
144
145+ define a new model in models : ECRAD
146
147+ define parameters, range, default value and variation law.
148
149+ define metrics: surface and TOA net fluxes, direct to total surface ratio, (for now only SW in the MC). Procedure to compute metrics in the output of ecrad and in the RAD/CASE/SUBCASE/RADx.nc
150
151+ Script serie_ecrad.sh to run the N ecrad
152+ Need a procedure to read ASCII file containing N sampled sets of parameters and create N config.nam files (inputs to ecrad).
153
154+ adapt htune_ncdf2Rdata to MC and ECRAD outputs
155        path to ref :  New var in setup_case.R : REF = RAD or LES: the path is now $REF/$case_name/$subcase_name/$REF0.nc. The error is computed from the variance estimated by MC 
156
157- plots at the beginning of ncdf2RData
158
159+ change htune_metric so it doesn't need to call plot_setup (which is sourced only if the target var is in a given list) => zmax is defined with NLES et Time*, and passed as an argument to get_metric
160
161+ Before commiting changes, need to transpose from WORK directory to src and run LMDZ bench
162
163+ bench ecrad
Note: See TracBrowser for help on using the repository browser.