Ignore:
Timestamp:
12/22/22 16:17:21 (19 months ago)
Author:
aclsce
Message:

IPSLCM7 : updated component revisions accordingly with ICOLMDZOR_v7 for DYNAMICO, ICOSA_LMDZ, ORCHIDEE and LMDZ.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/UNIFORM/v7/IPSLCM7/SOURCES/LMDZ/oasis.F90

    r5479 r6296  
    2424  USE mod_prism_get_proto 
    2525  USE mod_prism_put_proto 
     26#endif 
     27#ifdef CPP_CPLOCNINCA 
     28  USE incaoasis, ONLY : inforcv 
    2629#endif 
    2730#endif 
     
    5962  INTEGER, PARAMETER :: ids_qraiic = 28 
    6063  INTEGER, PARAMETER :: ids_qsnoic = 29 
    61   INTEGER, PARAMETER :: maxsend    = 29  ! Maximum number of fields to send 
     64  INTEGER, PARAMETER :: ids_delta_sst = 30, ids_delta_sal = 31 
     65   
     66  INTEGER, PARAMETER :: maxsend    = 31  ! Maximum number of fields to send 
    6267   
    6368  ! Id for fields received from ocean 
     69 
    6470  INTEGER, PARAMETER :: idr_sisutw = 1 
    6571  INTEGER, PARAMETER :: idr_icecov = 2 
     
    7076  INTEGER, PARAMETER :: idr_curenz = 7 
    7177  INTEGER, PARAMETER :: idr_oceco2 = 8 
    72   INTEGER, PARAMETER :: maxrecv    = 8  ! Maximum number of fields to receive 
    73    
     78 
     79  INTEGER, PARAMETER :: idr_sss = 9 
     80  ! bulk salinity of the surface layer of the ocean, in ppt 
     81 
     82  INTEGER, PARAMETER :: maxrecv    = 9  ! Maximum number of fields to receive 
     83   
     84#ifdef CPP_CPLOCNINCA 
     85  INTEGER, PARAMETER :: idr_ocedms = 1 
     86  INTEGER, PARAMETER :: maxrcv = 1 
     87#endif 
    7488 
    7589  TYPE, PUBLIC ::   FLD_CPL            ! Type for coupling field information 
     
    110124    USE geometry_mod, ONLY: ind_cell_glo                     
    111125    USE mod_phys_lmdz_mpi_data, ONLY: klon_mpi_para_nb 
    112      
    113  
     126    use config_ocean_skin_m, only: activate_ocean_skin 
    114127 
    115128! Local variables 
     
    127140    CHARACTER (len = 80)               :: abort_message  
    128141    LOGICAL, SAVE                      :: cpl_current_omp 
    129     INTEGER, DIMENSION(klon_mpi)           :: ind_cell_glo_mpi 
     142    INTEGER, DIMENSION(klon_mpi)       :: ind_cell_glo_mpi 
    130143 
    131144!*    1. Initializations 
     
    164177 
    165178!************************************************************************************ 
    166 ! Gather global index to be used for oasis decomposition  
     179! Gather global index to be used for oasis decomposition 
    167180!************************************************************************************ 
    168181    CALL gather_omp(ind_cell_glo,ind_cell_glo_mpi) 
     
    189202    infosend(ids_calvin)%action = .TRUE. ; infosend(ids_calvin)%name = 'COCALVIN' 
    190203     
     204    if (activate_ocean_skin == 2) then 
     205       infosend(ids_delta_sst)%action = .TRUE. 
     206       infosend(ids_delta_sst)%name = 'CODELSST' 
     207       infosend(ids_delta_sal)%action = .TRUE. 
     208       infosend(ids_delta_sal)%name = 'CODELSSS' 
     209    end if 
     210            
    191211    IF (version_ocean=='nemo') THEN 
    192212        infosend(ids_shftot)%action = .TRUE. ; infosend(ids_shftot)%name = 'COQSRMIX' 
     
    225245   inforecv(idr_icealw)%action = .TRUE. ; inforecv(idr_icealw)%name = 'SIICEALW' 
    226246   inforecv(idr_icetem)%action = .TRUE. ; inforecv(idr_icetem)%name = 'SIICTEMW' 
     247 
     248   if (activate_ocean_skin >= 1) then 
     249      inforecv(idr_sss)%action = .TRUE. 
     250      inforecv(idr_sss)%name = 'SISUSALW' 
     251   end if 
    227252    
    228253   IF (cpl_current ) THEN 
     
    235260       inforecv(idr_oceco2)%action = .TRUE. ; inforecv(idr_oceco2)%name = 'SICO2FLX' 
    236261   ENDIF 
     262#ifdef CPP_CPLOCNINCA 
     263       inforcv(idr_ocedms)%action = .TRUE. ; inforcv(idr_ocedms)%name = 'SIDMSFLX' 
     264#endif 
    237265 
    238266!************************************************************************************ 
     
    319347       ENDIF 
    320348    END DO 
    321      
     349 
     350! Now, if also coupling CPL with INCA, initialize here fields to be exchanged. 
     351#ifdef CPP_CPLOCNINCA 
     352    DO jf=1,maxrcv  
     353       IF (inforcv(jf)%action) THEN 
     354          CALL prism_def_var_proto(inforcv(jf)%nid, inforcv(jf)%name, il_part_id, & 
     355               il_var_nodims, PRISM_In, il_var_actual_shape, il_var_type, & 
     356               ierror) 
     357          IF (ierror .NE. PRISM_Ok) THEN 
     358             WRITE(lunout,*) 'inicma : Problem with prism_def_var_proto for field : ',& 
     359                  inforcv(jf)%name 
     360             abort_message=' Problem in call to prism_def_var_proto for fields to receive' 
     361             CALL abort_physic(modname,abort_message,1) 
     362          ENDIF 
     363       ENDIF 
     364    END DO 
     365#endif 
     366  
    322367!************************************************************************************ 
    323368! Atmospheric Fields to send 
Note: See TracChangeset for help on using the changeset viewer.