Opened 12 years ago

Closed 8 years ago

#42 closed defect (fixed)

Variables lev_histmth et ecrit_mth dans LMDZ4 (et LMDZ5 ?)

Reported by: Laurent Fairhead Owned by: Laurent Fairhead
Priority: major Milestone:
Component: I/O Keywords:
Cc:

Description

comme abordé brièvement lors du dernier poihl élargi, je me suis rendu compte qu'il y a quelques soucis avec la définition (ou non définition) des variables lev_hismth et ecrit_mth dans output.def.

1) lev_histmth

Si j'ai bien compris, dans le fichier output.def l'idée est de remplacer les anciens lev_* par : phys_out_filelevels= 5 2 2 5 5 5 qui remplit dans le modele la variable "lev_files".

Le pb vient de la variable lev_histmth qui, si elle n'est pas dans les .def, est mise par defaut à 2 (elle ne prend pas la valeur de lev_files)et lev_histmth est utilisée dans le modèle pour calculer ou pas des choses : titane1000 - /scratch/cont003/p86caub/VALIDATION_REF/modipsl/modeles/LMDZ4/libf/phylmd : grep lev_histmth * .... sw_aeroAR4.F90: IF (( lev_histmth .ge. 4 ) .or. ( .not. ok_ade )) THEN sw_aeroAR4.F90: IF (( lev_histmth .ge. 4 ) .or. ( .not. ok_aie )) THEN sw_aeroAR4.F90: IF (( lev_histmth .ge. 2 ) .or. (.not. ok_aie)) THEN sw_aeroAR4.F90: IF ( lev_histmth .ge. 4 ) THEN sw_aeroAR4.F90: IF ( lev_histmth .ge. 2 ) THEN

Et donc dans le cas ou on a seulement phys_out_filelevels= 5 2 2 5 5 5 et pas de lev_histmth=5 dans output.def on ne passera pas par les lignes ci dessus dans sw_aeroAR4.F90 (car lev_histmth aura la valeur par defaut du modèle cad 2) et les calculs sur les aerosols ne seront pas corrects.

2)ecrit_mth

Même genre de souci avec "ecrit_mth". L'idee avec output.def semble être de remplacer les ecrit_* par : phys_out_filetimesteps = 1.mth, 1.day, 0.25day, 0.125day, 0.125day, 1800.s

La variable "ecrit_mth" si elle n'est pas définie en dur dans l'output.def, prend la valeur par defaut du modèle qui est de 30. La partie COSP utilise "ecrit_mth" pour gerer sa frequence d'ecriture :

call phys_cosp(itap,dtime,freq_cosp,

$ ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, $ ecrit_mth,....

Du coup, si "ecrit_mth" n'est pas defini dans output.def, alors il prend la valeur par defaut du modele qui est 30 et il y a un souci lorsqu'on est au mois de fevrier (28 jours).

Conclusion : j'ai observé un souci avec ces 2 variables dans mes tests avec LMDZ4_AR5. Je ne sais pas si ces bugs existent aussi avec LMDZ5. Mais je pense qu'il serait bien de corriger à la fois LMDZ5 (le cas échéant) et LMDZ4.

Merci d'avance,

Arnaud

Change History (2)

comment:1 Changed 12 years ago by jghattas

Correction dans LMDZ5 : http://web.lmd.jussieu.fr/trac/changeset/1641.

1) lev_histmth est remplacé par le logical swaero_diag dans sw_areoAR4.f90. Le logical swaero_diag est egale true si au moins un des variables suivant sont definie dans histxxx.nc : topswad, topswai, solswad, solswai. Cette liste des variables reste a valider!! Est-ce que swaero_diag.f90 calcule d'autre diagnostiques ?

2) ecrit_mth est mis a jour a la fin du phys_output_mod_init pour prendre en compte les valeurs donnés par phys_out_filetimesteps.

Si cette correction est validé, il faudrait le mettre aussi dans la branche LMDZ4_AR5 et peut-etre aussi dans LMDZ5_AR5.

comment:2 Changed 8 years ago by Laurent Fairhead

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.