Ignore:
Timestamp:
Dec 16, 2025, 4:39:24 PM (3 months ago)
Author:
jbclement
Message:

PEM:
Apply documentation template everywhere: standardized headers format with short description, separators between functions/subroutines, normalized code sections, aligned dependencies/arguments/variables declaration.
JBC

File:
1 edited

Legend:

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

    r3989 r3991  
    11MODULE pemredem
     2!-----------------------------------------------------------------------
     3! NAME
     4!     pemredem
     5!
     6! DESCRIPTION
     7!     Write PEM-specific NetCDF restart files.
     8!
     9! AUTHORS & DATE
     10!     L. Lange
     11!     JB Clement, 2023-2025
     12!
     13! NOTES
     14!     Inspired by phyredem from the PCM. Handles time-independent and
     15!     time-dependent variables for restart functionality.
     16!-----------------------------------------------------------------------
    217
    3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    4 !!!
    5 !!! Purpose: Write specific netcdf restart for the PEM
    6 !!!
    7 !!!
    8 !!! Author: LL, inspired by phyredem from the PCM
    9 !!!
    10 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    11 
     18! DECLARATION
     19! -----------
    1220implicit none
    1321
     22contains
     23!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     24
    1425!=======================================================================
    15 contains
    16 !=======================================================================
     26SUBROUTINE pemdem0(filename,lonfi,latfi,cell_area,ngrid,nslope,def_slope,subslope_dist)
     27!-----------------------------------------------------------------------
     28! NAME
     29!     pemdem0
     30!
     31! DESCRIPTION
     32!     Create physics restart file and write time-independent variables.
     33!
     34! AUTHORS & DATE
     35!     L. Lange
     36!     JB Clement, 2023-2025
     37!
     38! NOTES
     39!
     40!-----------------------------------------------------------------------
    1741
    18 SUBROUTINE pemdem0(filename,lonfi,latfi,cell_area,ngrid,nslope,def_slope,subslope_dist)
    19 
    20 ! create physics restart file and write time-independent variables
    21 use soil,    only: mlayer_PEM
     42! DEPENDENCIES
     43! ------------
     44use soil,        only: mlayer_PEM
    2245use iostart_pem, only: open_restartphy, close_restartphy, put_var, put_field, length
    2346
     47! DECLARATION
     48! -----------
    2449implicit none
    2550
     51! ARGUMENTS
     52! ---------
    2653character(*),                  intent(in) :: filename
    2754integer,                       intent(in) :: ngrid, nslope
     
    3158real, dimension(ngrid,nslope), intent(in) :: subslope_dist ! undermesh statistics
    3259
    33 ! Create physics start file
     60! CODE
     61! ----
    3462call open_restartphy(filename)
    3563
     
    5482
    5583END SUBROUTINE pemdem0
     84!=======================================================================
    5685
    5786!=======================================================================
    58 
    5987SUBROUTINE pemdem1(filename,i_myear,nsoil_PEM,ngrid,nslope,tsoil_slope_PEM,inertiesoil_slope_PEM, &
    6088                   icetable_depth,icetable_thickness,ice_porefilling,m_co2_regolith,m_h2o_regolith,h2o_ice,co2_ice,layerings_map)
     89!-----------------------------------------------------------------------
     90! NAME
     91!     pemdem1
     92!
     93! DESCRIPTION
     94!     Write time-dependent variables to restart file.
     95!
     96! AUTHORS & DATE
     97!     L. Lange
     98!     JB Clement, 2023-2025
     99!
     100! NOTES
     101!
     102!-----------------------------------------------------------------------
    61103
    62 ! write time-dependent variable to restart file
     104! DEPENDENCIES
     105! ------------
    63106use iostart_pem,      only: open_restartphy, close_restartphy, put_var, put_field
    64107use soil,             only: inertiedat_PEM, do_soil
     
    66109use layered_deposits, only: layering, nb_str_max, map2array, print_layering, layering_algo
    67110
     111! DECLARATION
     112! -----------
    68113implicit none
    69114
     115! ARGUMENTS
     116! ---------
    70117character(*),                            intent(in) :: filename
    71118integer,                                 intent(in) :: nsoil_PEM, ngrid, nslope
     
    80127type(layering), dimension(ngrid,nslope), intent(in) :: layerings_map ! Layerings
    81128
     129! LOCAL VARIABLES
     130! ---------------
    82131integer                               :: islope
    83132character(2)                          :: num
     
    85134real, dimension(:,:,:,:), allocatable :: layerings_array ! Array for stratification (layerings)
    86135
     136! CODE
     137! ----
    87138! Open file
    88139call open_restartphy(filename)
Note: See TracChangeset for help on using the changeset viewer.