Ignore:
Timestamp:
Mar 9, 2026, 10:29:53 AM (8 days ago)
Author:
jbclement
Message:

PEM:

  • Introduction of a configurable display/logging system with options 'out2term', 'out2log', 'verbosity_lvl'. All messages now use verbosity levels ('LVL_NFO', 'LVL_WRN', 'LVL_ERR' and 'LVL_DBG').
  • Code encapsulation improvements with systematic privacy/protection of module variables.
  • Addition of workflow safety checks for required executables, dependencies (e.g. 'ncdump'), input files and callphys keys.
  • Renaming of PEM starting and diagnostic files ("startevol.nc" into "startevo.nc", "diagevol.nc" into "diagevo.nc").

JBC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/evolution/tracers.F90

    r4074 r4110  
    2424! PARAMETERS
    2525! ----------
    26 character(11),                                parameter :: traceurdef_name = 'traceur.def'
    27 integer(di),                                  protected :: nq        ! Number of tracers
    28 character(30), dimension(:),     allocatable, protected :: qnames    ! Names of tracers
    29 real(dp),      dimension(:,:,:), allocatable, protected :: q_PCM     ! Tracers in the "start.nc" at the beginning
    30 integer(di),                                  protected :: iPCM_qh2o ! Index for H2O vapor tracer from PCM
    31 real(dp),      dimension(:),     allocatable, protected :: mmol      ! Molar masses of tracers [g/mol]
     26character(11),                                parameter, private :: traceurdef_name = 'traceur.def'
     27integer(di),                                  protected          :: nq        ! Number of tracers
     28character(30), dimension(:),     allocatable, protected          :: qnames    ! Names of tracers
     29real(dp),      dimension(:,:,:), allocatable, protected          :: q_PCM     ! Tracers in the "start.nc" at the beginning
     30integer(di),                                  protected          :: iPCM_qh2o ! Index for H2O vapor tracer from PCM
     31real(dp),      dimension(:),     allocatable, protected          :: mmol      ! Molar masses of tracers [g/mol]
    3232
    3333contains
     
    5454use stoppage, only: stop_clean
    5555use geometry, only: ngrid, nlayer
    56 use display,  only: print_msg
     56use display,  only: print_msg, LVL_NFO
    5757use utility,  only: int2str
    5858
     
    7070inquire(file = traceurdef_name,exist = here)
    7171if (.not. here) call stop_clean(__FILE__,__LINE__,'cannot find required file "'//traceurdef_name//'"!',1)
    72 call print_msg('> Reading "'//traceurdef_name//'"')
     72call print_msg('> Reading "'//traceurdef_name//'"',LVL_NFO)
    7373open(newunit = funit,file = traceurdef_name,status = 'old',form = 'formatted',action = 'read',iostat = ierr)
    7474if (ierr /= 0) call stop_clean(__FILE__,__LINE__,'error opening file "'//traceurdef_name//'"!',ierr)
    7575read(funit,*) nq
    76 call print_msg('nq = '//int2str(nq))
     76call print_msg('nq = '//int2str(nq),LVL_NFO)
    7777
    7878! Allocation
     
    196196use geometry,   only: ngrid, nday
    197197use atmosphere, only: ap, bp
    198 use display,    only: print_msg
     198use display,    only: print_msg, LVL_NFO
    199199
    200200! DECLARATION
     
    213213! CODE
    214214! ----
    215 call print_msg("> Adapting the timeseries of tracers VMR to the new pressure")
     215call print_msg("> Adapting the timeseries of tracers VMR to the new pressure",LVL_NFO)
    216216
    217217! Build the first levels of pressure
     
    260260use atmosphere, only: ap, bp, ps_PCM
    261261use geometry,   only: ngrid, nlayer
    262 use display,    only: print_msg
     262use display,    only: print_msg, LVL_NFO
    263263
    264264! DECLARATION
     
    279279! CODE
    280280! ----
    281 call print_msg('> Building tracers for the PCM')
     281call print_msg('> Building tracers for the PCM',LVL_NFO)
    282282allocate(dz_plev_PCM(ngrid,nlayer),dz_plev_new(ngrid,nlayer))
    283283
Note: See TracChangeset for help on using the changeset viewer.