- Timestamp:
- Jul 24, 2023, 4:50:57 PM (16 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/conf_phys_m.F90
r4613 r4640 29 29 USE carbon_cycle_mod, ONLY: read_fco2_ocean_cor,var_fco2_ocean_cor 30 30 USE carbon_cycle_mod, ONLY: read_fco2_land_cor,var_fco2_land_cor 31 USE chemistry_cycle_mod, ONLY: dms_cycle_cpl 31 32 USE mod_grid_phy_lmdz, ONLY: klon_glo 32 33 USE print_control_mod, ONLY: lunout 33 34 use config_ocean_skin_m, only: config_ocean_skin 34 35 USE phys_state_var_mod, ONLY: phys_tstep 36 USE infotrac_phy, ONLY: type_trac 35 37 36 38 INCLUDE "conema3.h" … … 233 235 LOGICAL, SAVE :: carbon_cycle_cpl_omp 234 236 LOGICAL, SAVE :: carbon_cycle_rad_omp 237 LOGICAL, SAVE :: dms_cycle_cpl_omp 235 238 INTEGER, SAVE :: level_coupling_esm_omp 236 239 LOGICAL, SAVE :: read_fco2_ocean_cor_omp … … 2240 2243 CALL getin('level_coupling_esm',level_coupling_esm_omp) 2241 2244 2245 2246 dms_cycle_cpl_omp=.FALSE. 2247 CALL getin('dms_cycle_cpl',dms_cycle_cpl_omp) 2248 ! 2249 !Config Key = dms_cycle_cpl 2250 !Config Desc = receive dms from pisces via oasis 2251 !Config Def = .FALSE. 2252 !Config Help = can be activated only if lmdz use inca for the atmospheric chemistry 2253 2254 2242 2255 !$OMP END MASTER 2243 2256 !$OMP BARRIER … … 2514 2527 read_fco2_land_cor = read_fco2_land_cor_omp 2515 2528 var_fco2_land_cor = var_fco2_land_cor_omp 2529 dms_cycle_cpl = dms_cycle_cpl_omp 2516 2530 2517 2531 ! Test of coherence between type_ocean and version_ocean … … 2633 2647 ENDIF 2634 2648 2649 2650 ! Test on chemistry cycle 2651 IF ((type_trac .ne. "inca" .AND. type_trac .ne. "inco") .AND. dms_cycle_cpl ) THEN 2652 CALL abort_physic('conf_phys', 'dms_cycle_cpl has to be TRUE only with INCA coupling model',1) 2653 ENDIF 2654 2635 2655 ! ORCHIDEE must be activated for ifl_pbltree=1 2636 2656 IF (.NOT. ok_veget .AND. ifl_pbltree==1) THEN … … 2844 2864 WRITE(lunout,*) ' read_fco2_land_cor = ', read_fco2_land_cor 2845 2865 WRITE(lunout,*) ' var_fco2_land_cor = ', var_fco2_land_cor 2866 WRITE(lunout,*) ' dms_cycle_cpl = ', dms_cycle_cpl 2846 2867 WRITE(lunout,*) ' iflag_tsurf_inlandsis = ', iflag_tsurf_inlandsis 2847 2868 WRITE(lunout,*) ' iflag_temp_inlandsis = ', iflag_temp_inlandsis -
LMDZ6/trunk/libf/phylmd/cpl_mod.F90
r4600 r4640 377 377 0,zjulian,dtime,nhoridcs,nidcs) 378 378 ! no vertical axis 379 DO jf=1,maxrecv 379 DO jf=1,maxrecv_phys 380 380 IF (inforecv(i)%action) THEN 381 381 CALL histdef(nidcs,inforecv(i)%name ,inforecv(i)%name , & … … 433 433 CHARACTER(len = 80) :: abort_message 434 434 REAL, DIMENSION(klon) :: read_sic1D 435 REAL, DIMENSION(nbp_lon,jj_nb,maxrecv ) :: tab_read_flds435 REAL, DIMENSION(nbp_lon,jj_nb,maxrecv_phys) :: tab_read_flds 436 436 REAL, DIMENSION(klon,nbsrf) :: pctsrf_old 437 437 REAL, DIMENSION(klon_mpi) :: rlon_mpi, rlat_mpi … … 462 462 ndexcs(:) = 0 463 463 itau_w = itau_phy + itime + start_time * day_step_phy 464 DO i = 1, maxrecv 464 DO i = 1, maxrecv_phys 465 465 IF (inforecv(i)%action) THEN 466 466 CALL histwrite(nidcs,inforecv(i)%name,itau_w,tab_read_flds(:,:,i),nbp_lon*(nbp_lat),ndexcs) -
LMDZ6/trunk/libf/phylmd/oasis.F90
r4619 r4640 24 24 USE mod_prism_get_proto 25 25 USE mod_prism_put_proto 26 #endif27 #ifdef CPP_CPLOCNINCA28 USE incaoasis, ONLY : inforcv29 26 #endif 30 27 #endif … … 77 74 INTEGER, PARAMETER :: idr_curenz = 7 78 75 INTEGER, PARAMETER :: idr_oceco2 = 8 79 76 ! bulk salinity of the surface layer of the ocean, in ppt 80 77 INTEGER, PARAMETER :: idr_sss = 9 81 ! bulk salinity of the surface layer of the ocean, in ppt 82 83 INTEGER, PARAMETER :: maxrecv = 9 ! Maximum number of fields to receive 84 85 #ifdef CPP_CPLOCNINCA 86 INTEGER, PARAMETER :: idr_ocedms = 1 87 INTEGER, PARAMETER :: maxrcv = 1 88 #endif 78 INTEGER, PARAMETER :: idr_ocedms = 10 79 80 INTEGER, PARAMETER :: maxrecv = 10 ! Maximum number of fields to receive 81 INTEGER, PARAMETER :: maxrecv_phys = 9 ! Maximum number of fields to receive in physiq (without fields received in INCA model ) 82 ! will be changed in next version - INCA fields will be received in LMDZ (like for ORCHIDEE fields) 83 ! and then send by routine in INCA model 84 89 85 90 86 TYPE, PUBLIC :: FLD_CPL ! Type for coupling field information … … 118 114 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl 119 115 USE wxios, ONLY : wxios_context_init 116 USE chemistry_cycle_mod, ONLY : dms_cycle_cpl 120 117 USE lmdz_xios 121 118 USE print_control_mod, ONLY: lunout … … 265 262 inforecv(idr_oceco2)%action = .TRUE. ; inforecv(idr_oceco2)%name = 'SICO2FLX' 266 263 ENDIF 267 #ifdef CPP_CPLOCNINCA 268 inforcv(idr_ocedms)%action = .TRUE. ; inforcv(idr_ocedms)%name = 'SIDMSFLX' 269 #endif 264 IF (dms_cycle_cpl) THEN 265 inforecv(idr_ocedms)%action = .TRUE. ; inforecv(idr_ocedms)%name = 'SIDMSFLX' 266 ENDIF 267 270 268 271 269 !************************************************************************************ … … 353 351 END DO 354 352 355 ! Now, if also coupling CPL with INCA, initialize here fields to be exchanged. 356 #ifdef CPP_CPLOCNINCA 357 DO jf=1,maxrcv 358 IF (inforcv(jf)%action) THEN 359 CALL prism_def_var_proto(inforcv(jf)%nid, inforcv(jf)%name, il_part_id, & 360 il_var_nodims, PRISM_In, il_var_actual_shape, il_var_type, & 361 ierror) 362 IF (ierror .NE. PRISM_Ok) THEN 363 WRITE(lunout,*) 'inicma : Problem with prism_def_var_proto for field : ',& 364 inforcv(jf)%name 365 abort_message=' Problem in call to prism_def_var_proto for fields to receive' 366 CALL abort_physic(modname,abort_message,1) 367 ENDIF 368 ENDIF 369 END DO 353 354 #ifdef INCA 355 IF (dms_cycle_cpl) THEN 356 CALL init_inca_oasis(inforecv(idr_ocedms)) 357 ENDIF 370 358 #endif 371 359 … … 424 412 ! Output arguments 425 413 !************************************************************************************ 426 REAL, DIMENSION(nbp_lon, jj_nb,maxrecv ), INTENT(OUT) :: tab_get414 REAL, DIMENSION(nbp_lon, jj_nb,maxrecv_phys), INTENT(OUT) :: tab_get 427 415 428 416 ! Local variables … … 446 434 ENDIF 447 435 448 DO i = 1, maxrecv 436 DO i = 1, maxrecv_phys 449 437 IF (inforecv(i)%action .AND. inforecv(i)%nid .NE. -1) THEN 450 438 field(:) = -99999.
Note: See TracChangeset
for help on using the changeset viewer.