Ignore:
Timestamp:
May 15, 2025, 4:20:14 PM (3 weeks ago)
Author:
acozic
Message:

Add possibility to send N2O from atm chemistry (with Inca model - but definition for oasis is done in LMDZ) to NEMO

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/oasis.F90

    r5582 r5654  
    6161  INTEGER, PARAMETER :: ids_delta_sst = 30, ids_delta_sal = 31, ids_dter = 32, &
    6262       ids_dser = 33, ids_dt_ds = 34
     63  INTEGER, PARAMETER :: ids_atmn2o = 35
    6364 
    64   INTEGER, PARAMETER :: maxsend    = 34  ! Maximum number of fields to send
    65  
     65  INTEGER, PARAMETER :: maxsend    = 35  ! Maximum number of fields to send
     66  INTEGER, PARAMETER :: maxsend_phys = 34 ! Maximum number of fields to send in LMDZ phys - the last one will be send by Inca
     67
    6668  ! Id for fields received from ocean
    6769
     
    227229            infosend(ids_atmco2)%action = .TRUE. ; infosend(ids_atmco2)%name = 'COATMCO2'
    228230        ENDIF
     231        IF (n2o_cycle_cpl) THEN
     232            infosend(ids_atmn2o)%action = .TRUE. ; infosend(ids_atmn2o)%name = 'COATMN2O'
     233        ENDIF
    229234        infosend(ids_qraioc)%action = .TRUE. ; infosend(ids_qraioc)%name = 'COQRAIOC'
    230235        infosend(ids_qsnooc)%action = .TRUE. ; infosend(ids_qsnooc)%name = 'COQSNOOC'
     
    358363    END DO
    359364
    360 
    361 IF (CPPKEY_INCA) THEN
    362     IF (dms_cycle_cpl .OR. n2o_cycle_cpl) THEN
    363        CALL init_inca_oasis(inforecv(idr_ocedms:idr_ocen2o))
    364     ENDIF
    365 END IF
    366365 
    367366!************************************************************************************
     
    396395       WRITE(lunout,*) 'inicma : endef psmile ok '
    397396    ENDIF
     397
     398
     399IF (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))
     402    ENDIF
     403END IF
    398404
    399405!$OMP END MASTER
     
    479485    INTEGER, INTENT(IN)                              :: ktime
    480486    LOGICAL, INTENT(IN)                              :: last
    481     REAL, DIMENSION(nbp_lon, jj_nb, maxsend), INTENT(IN) :: tab_put
     487    REAL, DIMENSION(nbp_lon, jj_nb, maxsend_phys), INTENT(IN) :: tab_put
    482488
    483489! Local variables
     
    513519       IF (is_south_pole_dyn) wend=iend-nbp_lon+1
    514520       
    515        DO i = 1, maxsend
     521       DO i = 1, maxsend_phys
    516522          IF (infosend(i)%action) THEN
    517523             field = RESHAPE(tab_put(:,:,i),(/nbp_lon*jj_nb/))
     
    525531!************************************************************************************
    526532
    527     DO i = 1, maxsend
     533    DO i = 1, maxsend_phys
    528534      IF (infosend(i)%action .AND. infosend(i)%nid .NE. -1 ) THEN
    529535          field = RESHAPE(tab_put(:,:,i),(/nbp_lon*jj_nb/))
Note: See TracChangeset for help on using the changeset viewer.