Changeset 5773
- Timestamp:
- Jul 11, 2025, 11:11:36 AM (31 hours ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/chemistry_cycle_mod.f90
r5687 r5773 15 15 16 16 ! Variables read from parmeter file physiq.def 17 LOGICAL, SAVE, PUBLIC :: dms_cycle_cpl ! Coupling of DMS fluxes between LMDZ/ORCHIDEE and LMDZ/OCEAN(PISCES)17 LOGICAL, SAVE, PUBLIC :: dms_cycle_cpl ! Coupling of DMS fluxes between INCA and PISCES 18 18 !$OMP THREADPRIVATE(dms_cycle_cpl) 19 19 20 LOGICAL, SAVE, PUBLIC :: n2o_cycle_cpl ! Coupling of N2O fluxes between LMDZ/ORCHIDEE and LMDZ/OCEAN(PISCES)20 LOGICAL, SAVE, PUBLIC :: n2o_cycle_cpl ! Coupling of N2O fluxes between INCA and PISCES / PISCES and INCA 21 21 !$OMP THREADPRIVATE(n2o_cycle_cpl) 22 22 23 LOGICAL, SAVE, PUBLIC :: ndp_cycle_cpl ! Coupling of N deposition between LMDZ/ORCHIDEE and LMDZ/OCEAN(PISCES)23 LOGICAL, SAVE, PUBLIC :: ndp_cycle_cpl ! Coupling of N deposition between INCA and PISCES 24 24 !$OMP THREADPRIVATE(ndp_cycle_cpl) 25 25 26 LOGICAL, SAVE, PUBLIC :: nh3_cycle_cpl ! Coupling of NH3 fluxes between PISCES and INCA 27 !$OMP THREADPRIVATE(nh3_cycle_cpl) 26 28 27 29 END MODULE chemistry_cycle_mod -
LMDZ6/trunk/libf/phylmd/conf_phys_m.f90
r5687 r5773 36 36 USE carbon_cycle_mod, ONLY: read_fco2_ocean_cor,var_fco2_ocean_cor 37 37 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, ndp_cycle_cpl 38 USE chemistry_cycle_mod, ONLY: dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl, nh3_cycle_cpl 39 39 USE mod_grid_phy_lmdz, ONLY: klon_glo 40 40 USE print_control_mod, ONLY: lunout … … 240 240 LOGICAL, SAVE :: carbon_cycle_cpl_omp 241 241 LOGICAL, SAVE :: carbon_cycle_rad_omp 242 LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp, ndp_cycle_cpl_omp 242 LOGICAL, SAVE :: dms_cycle_cpl_omp, n2o_cycle_cpl_omp, ndp_cycle_cpl_omp, nh3_cycle_cpl_omp 243 243 INTEGER, SAVE :: level_coupling_esm_omp 244 244 LOGICAL, SAVE :: read_fco2_ocean_cor_omp … … 2411 2411 !Config Desc = send ndep to pisces via oasis 2412 2412 !Config Def = .FALSE. 2413 !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry 2413 !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry 2414 2415 2416 nh3_cycle_cpl_omp=.FALSE. 2417 CALL getin('transm_nh3_oa',nh3_cycle_cpl_omp) 2418 ! 2419 !Config Key = nh3_cycle_cpl 2420 !Config Desc = send nh3 from and to pisces via oasis 2421 !Config Def = .FALSE. 2422 !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry 2414 2423 2415 2424 !$OMP END MASTER … … 2712 2721 n2o_cycle_cpl = n2o_cycle_cpl_omp 2713 2722 ndp_cycle_cpl = ndp_cycle_cpl_omp 2723 nh3_cycle_cpl = nh3_cycle_cpl_omp 2714 2724 !rajout Olivier Torres 2715 2725 kz0=kz0_omp … … 2837 2847 2838 2848 ! Test on chemistry cycle 2839 IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl ) ) THEN2840 CALL abort_physic('conf_phys', ' dms_cycle_cpl, n2o_cycle_cpl or ndp_cycle_cplcan be TRUE only with INCA coupling model',1)2849 IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. ( dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl .OR. nh3_cycle_cpl ) ) THEN 2850 CALL abort_physic('conf_phys', 'transm_dms_oa, transm_n2o_oa, transm_ndp_ao or transm_nh3_oa can be TRUE only with INCA coupling model',1) 2841 2851 ENDIF 2842 2852 … … 3075 3085 WRITE(lunout,*) ' n2o_cycle_cpl = ', n2o_cycle_cpl 3076 3086 WRITE(lunout,*) ' ndp_cycle_cpl = ', ndp_cycle_cpl 3087 WRITE(lunout,*) ' nh3_cycle_cpl = ', nh3_cycle_cpl 3077 3088 WRITE(lunout,*) ' iflag_tsurf_inlandsis = ', iflag_tsurf_inlandsis 3078 3089 WRITE(lunout,*) ' iflag_temp_inlandsis = ', iflag_temp_inlandsis -
LMDZ6/trunk/libf/phylmd/oasis.F90
r5687 r5773 63 63 INTEGER, PARAMETER :: ids_atmn2o = 35 64 64 INTEGER, PARAMETER :: ids_atmndp = 36 65 INTEGER, PARAMETER :: ids_atmnh3 = 37 65 66 66 INTEGER, PARAMETER :: maxsend = 3 6! Maximum number of fields to send67 INTEGER, PARAMETER :: maxsend = 37 ! Maximum number of fields to send 67 68 INTEGER, PARAMETER :: maxsend_phys = 34 ! Maximum number of fields to send in LMDZ phys - the last one will be send by Inca 68 69 … … 81 82 INTEGER, PARAMETER :: idr_ocedms = 10 82 83 INTEGER, PARAMETER :: idr_ocen2o = 11 83 84 INTEGER, PARAMETER :: maxrecv = 11 ! Maximum number of fields to receive 84 INTEGER, PARAMETER :: idr_ocenh3 = 12 85 86 INTEGER, PARAMETER :: maxrecv = 12 ! Maximum number of fields to receive 85 87 INTEGER, PARAMETER :: maxrecv_phys = 9 ! Maximum number of fields to receive in physiq (without fields received in INCA model ) 86 88 ! will be changed in next version - INCA fields will be received in LMDZ (like for ORCHIDEE fields) … … 118 120 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl 119 121 use wxios_mod, ONLY : wxios_context_init 120 USE chemistry_cycle_mod, ONLY : dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl 122 USE chemistry_cycle_mod, ONLY : dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl, nh3_cycle_cpl 121 123 USE lmdz_xios 122 124 USE print_control_mod, ONLY: lunout … … 236 238 infosend(ids_atmndp)%action = .TRUE. ; infosend(ids_atmndp)%name = 'COATMNDP' 237 239 ENDIF 240 IF (nh3_cycle_cpl) THEN 241 infosend(ids_atmnh3)%action = .TRUE. ; infosend(ids_atmnh3)%name = 'COATMNH3' 242 ENDIF 238 243 infosend(ids_qraioc)%action = .TRUE. ; infosend(ids_qraioc)%name = 'COQRAIOC' 239 244 infosend(ids_qsnooc)%action = .TRUE. ; infosend(ids_qsnooc)%name = 'COQSNOOC' … … 281 286 inforecv(idr_ocen2o)%action = .TRUE. ; inforecv(idr_ocen2o)%name = 'SIN2OFLX' 282 287 ENDIF 283 288 IF (nh3_cycle_cpl) THEN 289 inforecv(idr_ocenh3)%action = .TRUE. ; inforecv(idr_ocenh3)%name = 'SINH3FLX' 290 ENDIF 284 291 285 292 !************************************************************************************ … … 402 409 403 410 IF (CPPKEY_INCA) THEN 404 IF (dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl ) THEN405 CALL init_inca_oasis(inforecv(idr_ocedms:idr_ocen 2o),infosend(ids_atmn2o:ids_atmndp))411 IF (dms_cycle_cpl .OR. n2o_cycle_cpl .OR. ndp_cycle_cpl .OR. nh3_cycle_cpl) THEN 412 CALL init_inca_oasis(inforecv(idr_ocedms:idr_ocenh3),infosend(ids_atmn2o:ids_atmnh3)) 406 413 ENDIF 407 414 END IF
Note: See TracChangeset
for help on using the changeset viewer.