Changeset 6172


Ignore:
Timestamp:
Apr 17, 2026, 1:59:33 PM (2 weeks ago)
Author:
Sebastien Nguyen
Message:

extend ICOSA_LMDZ modifications for mpi parallelism to phylmdiso

Location:
ICOSA_LMDZ/src/phylmdiso
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • ICOSA_LMDZ/src/phylmdiso/icolmdz_etat0.f90

    r5590 r6172  
    3131            CALL xios_set_field_attr("temp_db", field_ref="temp_db_legacy")
    3232            CALL xios_set_field_attr("q_db", field_ref="q_db_legacy")
     33            IF (using_xios3) CALL xios_set_axis_attr("lev_ecdyn", axis_ref="u_db_legacy::")
    3334         ELSE IF (TRIM(etat0_lmdz) == "ERA5_forcing") THEN
    3435            CALL xios_set_filegroup_attr("read_files_ERA5_forcing", enabled=.TRUE.)
     
    4142            CALL xios_set_field_attr("temp_db", field_ref="temp_db_forcing")
    4243            CALL xios_set_field_attr("q_db", field_ref="q_db_forcing")
     44            IF (using_xios3) CALL xios_set_axis_attr("lev_ecdyn", axis_ref="u_db_forcing::")
    4345         ELSE
    4446        PRINT*,"Bad selector for variable <etat0_lmdz> ",TRIM(etat0_lmdz), " option are <legacy> (default), <ERA5_forcing>"
     
    6466      USE omp_para
    6567      USE tracer_icosa_mod
     68      USE earth_const, ONLY : g
    6669      IMPLICIT NONE
    6770      TYPE(t_field), POINTER :: f_ps(:)
  • ICOSA_LMDZ/src/phylmdiso/icolmdz_param_gravity_wave.f90

    r5590 r6172  
    99 
    1010  SUBROUTINE init_param_gravity_wave
    11   USE getin_mod
    12   USE xios_mod
     11  USE getin_mod  ! from dynamico
     12  USE xios_mod   ! from dynamico
    1313  IMPLICIT NONE
    1414    CHARACTER(LEN=255) :: param_gw_method
     
    133133  !from icosa_lmdz
    134134  USE distrib_icosa_lmdz_mod
     135  USE math_const, ONLY: Pi
    135136  IMPLICIT NONE
    136137    INTEGER :: ibegin, jbegin, ni, nj, ni_glo,nj_glo
     
    401402    INTEGER :: i,j,ij
    402403
    403     DO j=jj_begin,jj_end
    404       DO i=ii_begin,ii_end
     404    DO j=jj_begin-1,jj_end+1
     405      DO i=ii_begin-1,ii_end+1
    405406        ij=(j-1)*iim+i
    406407        zstd(ij) = ztz(ij) - zmea(ij)*zmea(ij)
    407         IF (zstd(ij)<0) zstd(ij)=0
     408        IF (zstd(ij)<=0) zstd(ij)=0
    408409        zstd(ij)=SQRT(zstd(ij))
    409410      ENDDO
     
    415416  SUBROUTINE compute_sigma_gamma_theta(zxtzx, zytzy, zxtzy, zsig, zgam, zthe)
    416417  USE icosa
     418  USE math_const, ONLY : Pi
    417419  IMPLICIT NONE
    418420    REAL(rstd),INTENT(IN)   :: zxtzx(iim*jjm)
     
    487489  USE xios_mod
    488490  USE icosa
     491  USE math_const, ONLY : Pi
    489492  IMPLICIT NONE
    490493    REAL, ALLOCATABLE :: mask(:,:) , zmea(:,:), zpic(:,:), zval(:,:), ztz(:,:), zstd(:,:)
  • ICOSA_LMDZ/src/phylmdiso/interface_icosa_lmdz.F90

    r6037 r6172  
    4343
    4444  SUBROUTINE pre_initialize_physics
    45   USE etat0_plugin_mod
    46   USE icolmdz_etat0, ONLY:  init_etat0_lmdz => init_etat0, etat0_lmdz => etat0
     45  USE etat0_plugin_mod, ONLY : init_etat0_plugin, etat0_plugin
     46  USE icolmdz_etat0, ONLY : init_etat0, etat0
    4747  USE icolmdz_param_gravity_wave, ONLY: init_param_gravity_wave
    4848  USE isotopes_mod, ONLY : using_iso
    4949  IMPLICIT NONE
    5050  !$OMP PARALLEL
    51    
    52     init_etat0_plugin => init_etat0_lmdz
    53     etat0_plugin => etat0_lmdz
    54 
     51    init_etat0_plugin => init_etat0
     52    etat0_plugin => etat0
    5553    CALL init_param_gravity_wave
    5654  !$OMP END PARALLEL
     
    214212  USE mpipara
    215213  USE disvert_mod
    216   USE earth_const, ONLY: scale_height
     214  USE earth_const !, ONLY: scale_height
    217215  USE xios_mod
    218216  USE time_mod , init_time_icosa=> init_time
     
    233231   USE readTracFiles_mod, ONLY: delPhase
    234232!  USE phyaqua_mod, ONLY : iniaqua
    235  
     233  USE phystokenc_mod, ONLY : init_phystokenc       !  use to generate mass flow files for offline mode
    236234 
    237235  IMPLICIT NONE
     
    270268  INTEGER :: nq
    271269  INTEGER                       :: nqo, nbtr, nbtr_inca
    272   CHARACTER(len=256)              :: type_trac
     270  CHARACTER(len=256)            :: type_trac
    273271  INTEGER,ALLOCATABLE           :: conv_flg(:) ! conv_flg(it)=0 : convection desactivated for tracer number it
    274272  INTEGER,ALLOCATABLE           :: pbl_flg(:)  ! pbl_flg(it)=0  : boundary layer diffusion desactivaded for tracer number it
     
    288286   CHARACTER(LEN=3)      :: descrq(30)            !--- Advection scheme description tags
    289287   logical, save :: first = .TRUE.
     288
     289   LOGICAL :: offline
     290   INTEGER :: offline_time
    290291
    291292
     
    475476    CALL init_time_lmdz(annee_ref, day_ref, day_ini, start_time, int(ndays), physics_timestep)
    476477
     478
     479    ! Init Offline mode
     480    offline = .FALSE.
     481    CALL getin('offline',offline)
     482
     483    !  Choosing storage frequencies for offline mass flow files 
     484    !  offline_time=12    2h=1day/12
     485    !  offline_time=8     3h=1day/8
     486    offline_time = 8
     487    CALL getin('offline_time',offline_time)
     488
     489    ! Copy over "offline" settings
     490    ! Flag and number of time steps for flux calculation and output
     491    CALL init_phystokenc(offline,int(day_length/(offline_time*physics_timestep)))
     492
     493   
    477494!  Additional initializations for aquaplanets
    478495!    CALL getin("iflag_phys",iflag_phys)
     
    540557  USE checksum_mod
    541558  USE vorticity_mod
     559  USE earth_const
    542560  USE tracer_icosa_mod
    543561  USE compute_transport_mod
     
    767785        ENDDO
    768786      ENDIF
    769 
    770787    ENDDO
    771788
     
    12611278      REAL(rstd),INTENT(INOUT)  :: q(klon, klev ,nqtot)
    12621279      REAL(rstd),INTENT(IN) :: q_ave(klev, nqtot)
    1263       REAL(rstd),INTENT(IN) :: p(klon, klev)
     1280      REAL(rstd),INTENT(IN) :: p(klon, klev+1)
    12641281      REAL(rstd) :: deltap(klon, klev)
    12651282      INTEGER :: iq, iq_g
Note: See TracChangeset for help on using the changeset viewer.