Changeset 5687


Ignore:
Timestamp:
May 28, 2025, 2:07:56 PM (5 weeks ago)
Author:
acozic
Message:

Add new flag to coupled N deposition between atm and ocean
coupling initialized in lmdz but send is in inca code
can be use only with inca chemistry

Location:
LMDZ6/trunk/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/chemistry_cycle_mod.f90

    r5268 r5687  
    2121!$OMP THREADPRIVATE(n2o_cycle_cpl)   
    2222
     23  LOGICAL, SAVE, PUBLIC :: ndp_cycle_cpl       ! Coupling of N deposition between LMDZ/ORCHIDEE and LMDZ/OCEAN(PISCES)
     24!$OMP THREADPRIVATE(ndp_cycle_cpl)
    2325
    2426 
  • LMDZ6/trunk/libf/phylmd/conf_phys_m.f90

    r5685 r5687  
    3636    USE carbon_cycle_mod,  ONLY: read_fco2_ocean_cor,var_fco2_ocean_cor
    3737    USE carbon_cycle_mod,  ONLY: read_fco2_land_cor,var_fco2_land_cor
    38     USE chemistry_cycle_mod, ONLY: dms_cycle_cpl, n2o_cycle_cpl
     38    USE chemistry_cycle_mod, ONLY: dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl
    3939    USE mod_grid_phy_lmdz, ONLY: klon_glo
    4040    USE print_control_mod, ONLY: lunout
     
    240240    LOGICAL, SAVE :: carbon_cycle_cpl_omp
    241241    LOGICAL, SAVE :: carbon_cycle_rad_omp
    242     LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp
     242    LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp, ndp_cycle_cpl_omp
    243243    INTEGER, SAVE :: level_coupling_esm_omp
    244244    LOGICAL, SAVE :: read_fco2_ocean_cor_omp
     
    24012401    !
    24022402    !Config Key  = n2o_cycle_cpl
    2403     !Config Desc = receive n2o from pisces via oasis
     2403    !Config Desc = receive and send n2o from and to pisces via oasis
    24042404    !Config Def  = .FALSE.
    24052405    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
    2406    
     2406   
     2407    ndp_cycle_cpl_omp=.FALSE.
     2408    CALL getin('transm_ndp_ao',ndp_cycle_cpl_omp)
     2409    !
     2410    !Config Key  = ndp_cycle_cpl
     2411    !Config Desc = send ndep to pisces via oasis
     2412    !Config Def  = .FALSE.
     2413    !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry
    24072414   
    24082415    !$OMP END MASTER
     
    27042711    dms_cycle_cpl = dms_cycle_cpl_omp
    27052712    n2o_cycle_cpl = n2o_cycle_cpl_omp
     2713    ndp_cycle_cpl = ndp_cycle_cpl_omp
    27062714    !rajout Olivier Torres
    27072715    kz0=kz0_omp
     
    28292837
    28302838    ! Test on chemistry cycle
    2831     IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl)  ) THEN
    2832        CALL abort_physic('conf_phys', 'dms_cycle_cpl or n2o_cycle_cpl has to be TRUE only with INCA coupling model',1)
     2839    IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl )  ) THEN
     2840       CALL abort_physic('conf_phys', 'dms_cycle_cpl, n2o_cycle_cpl or ndp_cycle_cpl can be TRUE only with INCA coupling model',1)
    28332841    ENDIF
    28342842   
     
    30663074!GG
    30673075    WRITE(lunout,*) ' n2o_cycle_cpl = ', n2o_cycle_cpl
     3076    WRITE(lunout,*) ' ndp_cycle_cpl = ', ndp_cycle_cpl
    30683077    WRITE(lunout,*) ' iflag_tsurf_inlandsis = ', iflag_tsurf_inlandsis
    30693078    WRITE(lunout,*) ' iflag_temp_inlandsis = ', iflag_temp_inlandsis
  • LMDZ6/trunk/libf/phylmd/oasis.F90

    r5654 r5687  
    6262       ids_dser = 33, ids_dt_ds = 34
    6363  INTEGER, PARAMETER :: ids_atmn2o = 35
     64  INTEGER, PARAMETER :: ids_atmndp = 36
    6465 
    65   INTEGER, PARAMETER :: maxsend    = 35  ! Maximum number of fields to send
     66  INTEGER, PARAMETER :: maxsend    = 36  ! Maximum number of fields to send
    6667  INTEGER, PARAMETER :: maxsend_phys = 34 ! Maximum number of fields to send in LMDZ phys - the last one will be send by Inca
    6768
     
    117118    USE carbon_cycle_mod, ONLY : carbon_cycle_cpl
    118119    use wxios_mod, ONLY : wxios_context_init
    119     USE chemistry_cycle_mod, ONLY : dms_cycle_cpl, n2o_cycle_cpl
     120    USE chemistry_cycle_mod, ONLY : dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl
    120121    USE lmdz_xios 
    121122    USE print_control_mod, ONLY: lunout
     
    232233            infosend(ids_atmn2o)%action = .TRUE. ; infosend(ids_atmn2o)%name = 'COATMN2O'
    233234        ENDIF
     235        IF (ndp_cycle_cpl) THEN
     236            infosend(ids_atmndp)%action = .TRUE. ; infosend(ids_atmndp)%name = 'COATMNDP'
     237        ENDIF
    234238        infosend(ids_qraioc)%action = .TRUE. ; infosend(ids_qraioc)%name = 'COQRAIOC'
    235239        infosend(ids_qsnooc)%action = .TRUE. ; infosend(ids_qsnooc)%name = 'COQSNOOC'
     
    398402
    399403IF (CPPKEY_INCA) THEN
    400     IF (dms_cycle_cpl .OR. n2o_cycle_cpl) THEN
    401        CALL init_inca_oasis(inforecv(idr_ocedms:idr_ocen2o),infosend(ids_atmn2o:ids_atmn2o))
     404    IF (dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl) THEN
     405       CALL init_inca_oasis(inforecv(idr_ocedms:idr_ocen2o),infosend(ids_atmn2o:ids_atmndp))
    402406    ENDIF
    403407END IF
     
    457461             .AND. ierror.NE.PRISM_Input .AND. ierror.NE.PRISM_RecvOut &
    458462             .AND. ierror.NE.PRISM_FromRestOut) THEN
    459               WRITE (lunout,*)  'Error with receiving filed : ', inforecv(i)%name, ktime   
     463              WRITE (lunout,*)  'Error with receiving field: ', inforecv(i)%name, ktime   
    460464              abort_message=' Problem in prism_get_proto '
    461465              CALL abort_physic(modname,abort_message,1)
Note: See TracChangeset for help on using the changeset viewer.