Ignore:
Timestamp:
Jul 24, 2023, 4:50:57 PM (15 months ago)
Author:
acozic
Message:

add a flag for the dms cycle between ocean and atmosphere
remove cpp key CPLOCNINCA activated by option cplocninca
remove compilation option cplocninca

File:
1 edited

Legend:

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

    r4619 r4640  
    2424  USE mod_prism_get_proto
    2525  USE mod_prism_put_proto
    26 #endif
    27 #ifdef CPP_CPLOCNINCA
    28   USE incaoasis, ONLY : inforcv
    2926#endif
    3027#endif
     
    7774  INTEGER, PARAMETER :: idr_curenz = 7
    7875  INTEGER, PARAMETER :: idr_oceco2 = 8
    79 
     76  ! bulk salinity of the surface layer of the ocean, in ppt
    8077  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 
    8985
    9086  TYPE, PUBLIC ::   FLD_CPL            ! Type for coupling field information
     
    118114    USE carbon_cycle_mod, ONLY : carbon_cycle_cpl
    119115    USE wxios, ONLY : wxios_context_init
     116    USE chemistry_cycle_mod, ONLY : dms_cycle_cpl
    120117    USE lmdz_xios 
    121118    USE print_control_mod, ONLY: lunout
     
    265262       inforecv(idr_oceco2)%action = .TRUE. ; inforecv(idr_oceco2)%name = 'SICO2FLX'
    266263   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 
    270268
    271269!************************************************************************************
     
    353351    END DO
    354352
    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
    370358#endif
    371359 
     
    424412! Output arguments
    425413!************************************************************************************
    426     REAL, DIMENSION(nbp_lon, jj_nb,maxrecv), INTENT(OUT) :: tab_get
     414    REAL, DIMENSION(nbp_lon, jj_nb,maxrecv_phys), INTENT(OUT) :: tab_get
    427415
    428416! Local variables
     
    446434    ENDIF
    447435   
    448     DO i = 1, maxrecv
     436    DO i = 1, maxrecv_phys
    449437      IF (inforecv(i)%action .AND. inforecv(i)%nid .NE. -1) THEN
    450438          field(:) = -99999.
Note: See TracChangeset for help on using the changeset viewer.