Opened 16 months ago
Last modified 16 months ago
#147 assigned defect
Erreur write_output xios adastra
Reported by: | llange | Owned by: | abierjon |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | MARS GCM | Version: | |
Keywords: | Cc: |
Description
Alors
Sur Adastra, en mode débug ou non,avec XIOS, lors de l'appel de improvedclouds, les write_outputs suivants:
604 call write_output("zpotcond_inst","zpotcond_inst "
605 & "microphysics","(kg/kg)",zpotcond_inst(:,:))
606 call write_output("zpotcond_full","zpotcond_full "
607 & "microphysics","(kg/kg)",zpotcond_full(:,:))
608 call write_output("zpotcond","zpotcond "
609 & "microphysics","(kg/kg)",zpotcond(:,:))
610 call write_output("count_micro","count_micro "
611 & "after microphysics","integer",count_micro(:,:))"
font planter le modèle. Probablement car les variables ne sont pas définies dans les fichiers xml, même si on ne les demande pas dans le diagfi.def ?
Commenter ces write_output résout temporairement le problème
Change History (3)
comment:1 Changed 16 months ago by
comment:2 Changed 16 months ago by
Maybe we can find a way to check wether the variables passed to write_output are well present in file field_def_physics_mars.xml (with a "getin_p" for instance? and a double check on variables listed in file_def_physics_mars.xml?)
comment:3 Changed 16 months ago by
getin_p() won't be of any use here, as it is made to read run.def files which have a format which is completely different from the xml files.
I believe with recent versions of XIOS one can inquire if a given variable is requested by the user to be outputted. Perhaps we could use this to bypass systematically sending fields to XIOS and thus not have an error when a field unknown to XIOS (because missing in the field_def.xml file) is sent to write_output()
This seems pretty normal to me.
If you are using XIOS then your field_def_physics_mars.xml should contain all the definitions of variables which go through write_output(), even if you choose not to output them.
This is why we should be careful to always: