Changeset 5791 for LMDZ6/branches/contrails/libf/phylmd/oasis.F90
- Timestamp:
- Jul 28, 2025, 7:23:15 PM (7 days ago)
- Location:
- LMDZ6/branches/contrails
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/contrails
- Property svn:mergeinfo changed
/LMDZ6/trunk merged: 5654-5683,5685-5690,5692-5715,5718-5721,5726-5727,5729,5744-5761,5763-5778,5780,5785-5789
- Property svn:mergeinfo changed
-
LMDZ6/branches/contrails/libf/phylmd/oasis.F90
r5618 r5791 61 61 INTEGER, PARAMETER :: ids_delta_sst = 30, ids_delta_sal = 31, ids_dter = 32, & 62 62 ids_dser = 33, ids_dt_ds = 34 63 INTEGER, PARAMETER :: ids_atmn2o = 35 64 INTEGER, PARAMETER :: ids_atmndp = 36 65 INTEGER, PARAMETER :: ids_atmnh3 = 37 63 66 64 INTEGER, PARAMETER :: maxsend = 34 ! Maximum number of fields to send 65 67 INTEGER, PARAMETER :: maxsend = 37 ! Maximum number of fields to send 68 INTEGER, PARAMETER :: maxsend_phys = 34 ! Maximum number of fields to send in LMDZ phys - the last one will be send by Inca 69 66 70 ! Id for fields received from ocean 67 71 … … 78 82 INTEGER, PARAMETER :: idr_ocedms = 10 79 83 INTEGER, PARAMETER :: idr_ocen2o = 11 80 81 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 82 87 INTEGER, PARAMETER :: maxrecv_phys = 9 ! Maximum number of fields to receive in physiq (without fields received in INCA model ) 83 88 ! will be changed in next version - INCA fields will be received in LMDZ (like for ORCHIDEE fields) … … 115 120 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl 116 121 use wxios_mod, ONLY : wxios_context_init 117 USE chemistry_cycle_mod, ONLY : dms_cycle_cpl, n2o_cycle_cpl 122 USE chemistry_cycle_mod, ONLY : dms_cycle_cpl, n2o_cycle_cpl, ndp_cycle_cpl, nh3_cycle_cpl 118 123 USE lmdz_xios 119 124 USE print_control_mod, ONLY: lunout … … 227 232 infosend(ids_atmco2)%action = .TRUE. ; infosend(ids_atmco2)%name = 'COATMCO2' 228 233 ENDIF 234 IF (n2o_cycle_cpl) THEN 235 infosend(ids_atmn2o)%action = .TRUE. ; infosend(ids_atmn2o)%name = 'COATMN2O' 236 ENDIF 237 IF (ndp_cycle_cpl) THEN 238 infosend(ids_atmndp)%action = .TRUE. ; infosend(ids_atmndp)%name = 'COATMNDP' 239 ENDIF 240 IF (nh3_cycle_cpl) THEN 241 infosend(ids_atmnh3)%action = .TRUE. ; infosend(ids_atmnh3)%name = 'COATMNH3' 242 ENDIF 229 243 infosend(ids_qraioc)%action = .TRUE. ; infosend(ids_qraioc)%name = 'COQRAIOC' 230 244 infosend(ids_qsnooc)%action = .TRUE. ; infosend(ids_qsnooc)%name = 'COQSNOOC' … … 272 286 inforecv(idr_ocen2o)%action = .TRUE. ; inforecv(idr_ocen2o)%name = 'SIN2OFLX' 273 287 ENDIF 274 288 IF (nh3_cycle_cpl) THEN 289 inforecv(idr_ocenh3)%action = .TRUE. ; inforecv(idr_ocenh3)%name = 'SINH3FLX' 290 ENDIF 275 291 276 292 !************************************************************************************ … … 358 374 END DO 359 375 360 361 IF (CPPKEY_INCA) THEN362 IF (dms_cycle_cpl .OR. n2o_cycle_cpl) THEN363 CALL init_inca_oasis(inforecv(idr_ocedms:idr_ocen2o))364 ENDIF365 END IF366 376 367 377 !************************************************************************************ … … 397 407 ENDIF 398 408 409 410 IF (CPPKEY_INCA) THEN 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)) 413 ENDIF 414 END IF 415 399 416 !$OMP END MASTER 400 417 … … 451 468 .AND. ierror.NE.PRISM_Input .AND. ierror.NE.PRISM_RecvOut & 452 469 .AND. ierror.NE.PRISM_FromRestOut) THEN 453 WRITE (lunout,*) 'Error with receiving fi led: ', inforecv(i)%name, ktime470 WRITE (lunout,*) 'Error with receiving field: ', inforecv(i)%name, ktime 454 471 abort_message=' Problem in prism_get_proto ' 455 472 CALL abort_physic(modname,abort_message,1) … … 479 496 INTEGER, INTENT(IN) :: ktime 480 497 LOGICAL, INTENT(IN) :: last 481 REAL, DIMENSION(nbp_lon, jj_nb, maxsend ), INTENT(IN) :: tab_put498 REAL, DIMENSION(nbp_lon, jj_nb, maxsend_phys), INTENT(IN) :: tab_put 482 499 483 500 ! Local variables … … 513 530 IF (is_south_pole_dyn) wend=iend-nbp_lon+1 514 531 515 DO i = 1, maxsend 532 DO i = 1, maxsend_phys 516 533 IF (infosend(i)%action) THEN 517 534 field = RESHAPE(tab_put(:,:,i),(/nbp_lon*jj_nb/)) … … 525 542 !************************************************************************************ 526 543 527 DO i = 1, maxsend 544 DO i = 1, maxsend_phys 528 545 IF (infosend(i)%action .AND. infosend(i)%nid .NE. -1 ) THEN 529 546 field = RESHAPE(tab_put(:,:,i),(/nbp_lon*jj_nb/))
Note: See TracChangeset
for help on using the changeset viewer.