New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9132 for branches/UKMO/dev_r6912_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90 – NEMO

Ignore:
Timestamp:
2017-12-19T15:42:23+01:00 (6 years ago)
Author:
andmirek
Message:

#1868 changes enabling coupling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r6912_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r6912 r9132  
    5252#endif 
    5353   USE lib_fortran, ONLY: glob_sum 
     54#if ! defined key_nemocice_decomp 
     55   USE OASIS_NEMO_CICE 
     56#endif 
     57 
    5458 
    5559   IMPLICIT NONE 
     
    149153   INTEGER, PARAMETER ::   jpsnd      = 35            ! total number of fields sent 
    150154 
     155!NEMO CICE coupling intervace 
     156!NEMO send: 
     157   INTEGER, PARAMETER, PUBLIC :: id_sst0_np = 1 
     158   INTEGER, PARAMETER, PUBLIC :: id_sstfrz0_np = 2 
     159   INTEGER, PARAMETER, PUBLIC :: id_strax_np = 3 
     160   INTEGER, PARAMETER, PUBLIC :: id_stray_np = 4 
     161   INTEGER, PARAMETER, PUBLIC :: id_flatn_f_np = 5 
     162   INTEGER, PARAMETER, PUBLIC :: id_fcondtopn_f_np = 6 
     163   INTEGER, PARAMETER, PUBLIC :: id_fsurfn_f_np = 7 
     164   INTEGER, PARAMETER, PUBLIC :: id_uatm_np = 8 
     165   INTEGER, PARAMETER, PUBLIC :: id_vatm_np = 9 
     166   INTEGER, PARAMETER, PUBLIC :: id_wind_np = 10  
     167   INTEGER, PARAMETER, PUBLIC :: id_fsw_np = 11 
     168   INTEGER, PARAMETER, PUBLIC :: id_flw_np = 12 
     169   INTEGER, PARAMETER, PUBLIC :: id_Tair_np = 13 
     170   INTEGER, PARAMETER, PUBLIC :: id_potT_np = 14 
     171   INTEGER, PARAMETER, PUBLIC :: id_rhoa_np = 15 
     172   INTEGER, PARAMETER, PUBLIC :: id_Qa_np = 16 
     173   INTEGER, PARAMETER, PUBLIC :: id_zlvl_np = 17 
     174   INTEGER, PARAMETER, PUBLIC :: id_swvdr_np = 18 
     175   INTEGER, PARAMETER, PUBLIC :: id_swvdf_np = 19 
     176   INTEGER, PARAMETER, PUBLIC :: id_swidr_np = 20 
     177   INTEGER, PARAMETER, PUBLIC :: id_swidf_np = 21 
     178   INTEGER, PARAMETER, PUBLIC :: id_fsnow_np = 22 
     179   INTEGER, PARAMETER, PUBLIC :: id_frain_np = 23 
     180   INTEGER, PARAMETER, PUBLIC :: id_sstfrz_np = 24 
     181   INTEGER, PARAMETER, PUBLIC :: id_nfrzmlt_np = 25 
     182   INTEGER, PARAMETER, PUBLIC :: id_sst_m_np = 26 
     183   INTEGER, PARAMETER, PUBLIC :: id_sss_m_np = 27 
     184   INTEGER, PARAMETER, PUBLIC :: id_tsfc_ice_np = 28 
     185   INTEGER, PARAMETER, PUBLIC :: id_uocn_np = 29 
     186   INTEGER, PARAMETER, PUBLIC :: id_vocn_np = 30 
     187   INTEGER, PARAMETER, PUBLIC :: id_ss_tltx_np = 31 
     188   INTEGER, PARAMETER, PUBLIC :: id_ss_tlty_np = 32 
     189!NEMO get: 
     190   INTEGER, PARAMETER, PUBLIC :: id_fr_i0_ng = 1 
     191   INTEGER, PARAMETER, PUBLIC :: id_a_i0_ng = 2 
     192   INTEGER, PARAMETER, PUBLIC :: id_vsno0_ng = 3 
     193   INTEGER, PARAMETER, PUBLIC :: id_vice0_ng = 4 
     194   INTEGER, PARAMETER, PUBLIC :: id_strocnx_ng = 5 
     195   INTEGER, PARAMETER, PUBLIC :: id_strocny_ng = 6 
     196   INTEGER, PARAMETER, PUBLIC :: id_strocnxT_ng = 7 
     197   INTEGER, PARAMETER, PUBLIC :: id_strocnyT_ng = 8 
     198   INTEGER, PARAMETER, PUBLIC :: id_fresh_ai_ng = 9 
     199   INTEGER, PARAMETER, PUBLIC :: id_fsalt_ai_ng = 10 
     200   INTEGER, PARAMETER, PUBLIC :: id_fswthru_ai_ng = 11 
     201   INTEGER, PARAMETER, PUBLIC :: id_fhocn_ai_ng = 12 
     202   INTEGER, PARAMETER, PUBLIC :: id_fr_i_ng = 13 
     203   INTEGER, PARAMETER, PUBLIC :: id_a_i_ng = 14 
     204   INTEGER, PARAMETER, PUBLIC :: id_vsno_ng = 15 
     205   INTEGER, PARAMETER, PUBLIC :: id_vice_ng = 16 
     206   INTEGER, PARAMETER, PUBLIC :: id_a_p_ng = 17 
     207   INTEGER, PARAMETER, PUBLIC :: id_ht_p_ng = 18 
     208!hadgem 
     209   INTEGER, PARAMETER, PUBLIC :: id_u_ice_ng = 19 
     210   INTEGER, PARAMETER, PUBLIC :: id_v_ice_ng = 20 
     211   INTEGER, PARAMETER, PUBLIC :: id_ht_s_ng = 21 
     212   INTEGER, PARAMETER, PUBLIC :: id_ht_i_ng = 22 
     213   INTEGER, PARAMETER, PUBLIC :: id_tn_ice_ng = 23 
     214   INTEGER, PARAMETER, PUBLIC :: id_kn_ice_ng = 24 
     215 
    151216   REAL(wp), PARAMETER :: dms_unit_conv = 1.0e+6      ! Coversion factor to get outgong DMS in standard units for coupling 
    152                                                  ! i.e. specifically nmol/L (= umol/m3) 
     217 
    153218 
    154219   !                                                         !!** namelist namsbc_cpl ** 
     
    173238   LOGICAL     ::   ln_usecplmask          !  use a coupling mask file to merge data received from several models 
    174239                                           !   -> file cplmask.nc with the float variable called cplmask (jpi,jpj,nn_cplmodel) 
     240   LOGICAL, PARAMETER :: LOASIS_NEMO_CICE = .TRUE. 
    175241   TYPE ::   DYNARR      
    176242      REAL(wp), POINTER, DIMENSION(:,:,:)    ::   z3    
     
    273339         WRITE(numout,*)'~~~~~~~~~~~~' 
    274340      ENDIF 
    275       IF( lwp .AND. ln_cpl ) THEN                        ! control print 
     341!     IF( lwp .AND. ln_cpl ) THEN                        ! control print 
     342      IF( lwp ) THEN 
    276343         WRITE(numout,*)'  received fields (mutiple ice categories)' 
    277344         WRITE(numout,*)'      10m wind module                 = ', TRIM(sn_rcv_w10m%cldes  ), ' (', TRIM(sn_rcv_w10m%clcat  ), ')' 
     
    533600        srcv(jpr_atm_dust)%laction = .TRUE. 
    534601      END IF 
    535      
     602 
    536603      !                                                      ! ------------------------- ! 
    537604      !                                                      !   topmelt and botmelt     !    
     
    643710         ENDIF 
    644711      ENDIF 
    645        
     712 
     713      srcv(:)%laction = .FALSE. 
     714 
    646715      ! =================================================== ! 
    647716      ! Allocate all parts of frcv used for received fields ! 
     
    663732      END IF 
    664733 
     734      ! =================================================== ! 
     735      ! NEMO CICE interface recv definitions                ! 
     736      ! =================================================== ! 
     737      srcv_c2n(:)%laction = .FALSE. 
     738! 
     739!     srcv_c2n(1)%laction = .TRUE.    
     740!     srcv_c2n(1)%clgrid  = 'T'       
     741!     srcv_c2n(1)%nsgn    = 1.       
     742!     srcv_c2n(1)%clname = 'OCN_O1G' 
     743!     srcv_c2n(1)%nct = 1 
     744!     srcv_c2n(1)%ncplmodel = 1 
     745#if ! defined key_nemocice_decomp 
     746!initialization 
     747      srcv_c2n(id_fr_i0_ng)%laction = .TRUE.    
     748      srcv_c2n(id_fr_i0_ng)%clgrid  = 'T'       
     749      srcv_c2n(id_fr_i0_ng)%nsgn    = 1.       
     750      srcv_c2n(id_fr_i0_ng)%clname = 'fr_i0_ng' 
     751      srcv_c2n(id_fr_i0_ng)%nct = 1 
     752      srcv_c2n(id_fr_i0_ng)%ncplmodel = 1 
     753 
     754      srcv_c2n(id_a_i0_ng)%laction = .FALSE.    
     755      srcv_c2n(id_a_i0_ng)%clgrid  = 'T'       
     756      srcv_c2n(id_a_i0_ng)%nsgn    = 1.       
     757      srcv_c2n(id_a_i0_ng)%clname = 'a_i0_ng' 
     758      srcv_c2n(id_a_i0_ng)%nct = 5 
     759      srcv_c2n(id_a_i0_ng)%ncplmodel = 1 
     760 
     761      srcv_c2n(id_vsno0_ng)%laction = .TRUE.    
     762      srcv_c2n(id_vsno0_ng)%clgrid  = 'T'       
     763      srcv_c2n(id_vsno0_ng)%nsgn    = 1.       
     764      srcv_c2n(id_vsno0_ng)%clname = 'vsno0_ng' 
     765      srcv_c2n(id_vsno0_ng)%nct = 1 
     766      srcv_c2n(id_vsno0_ng)%ncplmodel = 1 
     767 
     768      srcv_c2n(id_vice0_ng)%laction = .TRUE.    
     769      srcv_c2n(id_vice0_ng)%clgrid  = 'T'       
     770      srcv_c2n(id_vice0_ng)%nsgn    = 1.       
     771      srcv_c2n(id_vice0_ng)%clname = 'vice0_ng' 
     772      srcv_c2n(id_vice0_ng)%nct = 1 
     773      srcv_c2n(id_vice0_ng)%ncplmodel = 1 
     774!time stepping 
     775      srcv_c2n(id_strocnx_ng)%laction = .TRUE.    
     776      srcv_c2n(id_strocnx_ng)%clgrid  = 'F'       
     777      srcv_c2n(id_strocnx_ng)%nsgn    = 1.       
     778      srcv_c2n(id_strocnx_ng)%clname = 'strocnx_ng' 
     779      srcv_c2n(id_strocnx_ng)%nct = 1 
     780      srcv_c2n(id_strocnx_ng)%ncplmodel = 1 
     781 
     782      srcv_c2n(id_strocny_ng)%laction = .TRUE.    
     783      srcv_c2n(id_strocny_ng)%clgrid  = 'F'       
     784      srcv_c2n(id_strocny_ng)%nsgn    = 1.       
     785      srcv_c2n(id_strocny_ng)%clname = 'strocny_ng' 
     786      srcv_c2n(id_strocny_ng)%nct = 1 
     787      srcv_c2n(id_strocny_ng)%ncplmodel = 1 
     788 
     789      srcv_c2n(id_strocnxT_ng)%laction = .TRUE.    
     790      srcv_c2n(id_strocnxT_ng)%clgrid  = 'T'       
     791      srcv_c2n(id_strocnxT_ng)%nsgn    = 1.       
     792      srcv_c2n(id_strocnxT_ng)%clname = 'strocnxT_ng' 
     793      srcv_c2n(id_strocnxT_ng)%nct = 1 
     794      srcv_c2n(id_strocnxT_ng)%ncplmodel = 1 
     795 
     796      srcv_c2n(id_strocnyT_ng)%laction = .TRUE.    
     797      srcv_c2n(id_strocnyT_ng)%clgrid  = 'T'       
     798      srcv_c2n(id_strocnyT_ng)%nsgn    = 1.       
     799      srcv_c2n(id_strocnyT_ng)%clname = 'strocnyT_ng' 
     800      srcv_c2n(id_strocnyT_ng)%nct = 1 
     801      srcv_c2n(id_strocnyT_ng)%ncplmodel = 1 
     802 
     803      srcv_c2n(id_fresh_ai_ng)%laction = .TRUE.    
     804      srcv_c2n(id_fresh_ai_ng)%clgrid  = 'T'       
     805      srcv_c2n(id_fresh_ai_ng)%nsgn    = 1.       
     806      srcv_c2n(id_fresh_ai_ng)%clname = 'fresh_ai_ng' 
     807      srcv_c2n(id_fresh_ai_ng)%nct = 1 
     808      srcv_c2n(id_fresh_ai_ng)%ncplmodel = 1 
     809 
     810      srcv_c2n(id_fsalt_ai_ng)%laction = .TRUE.    
     811      srcv_c2n(id_fsalt_ai_ng)%clgrid  = 'T'       
     812      srcv_c2n(id_fsalt_ai_ng)%nsgn    = 1.       
     813      srcv_c2n(id_fsalt_ai_ng)%clname = 'fsalt_ai_ng' 
     814      srcv_c2n(id_fsalt_ai_ng)%nct = 1 
     815      srcv_c2n(id_fsalt_ai_ng)%ncplmodel = 1 
     816 
     817      srcv_c2n(id_fswthru_ai_ng)%laction = .TRUE.    
     818      srcv_c2n(id_fswthru_ai_ng)%clgrid  = 'T'       
     819      srcv_c2n(id_fswthru_ai_ng)%nsgn    = 1.       
     820      srcv_c2n(id_fswthru_ai_ng)%clname = 'fswthru_ai_ng' 
     821      srcv_c2n(id_fswthru_ai_ng)%nct = 1 
     822      srcv_c2n(id_fswthru_ai_ng)%ncplmodel = 1 
     823 
     824      srcv_c2n(id_fhocn_ai_ng)%laction = .TRUE.    
     825      srcv_c2n(id_fhocn_ai_ng)%clgrid  = 'T'       
     826      srcv_c2n(id_fhocn_ai_ng)%nsgn    = 1.       
     827      srcv_c2n(id_fhocn_ai_ng)%clname = 'fhocn_ai_ng' 
     828      srcv_c2n(id_fhocn_ai_ng)%nct = 1 
     829      srcv_c2n(id_fhocn_ai_ng)%ncplmodel = 1 
     830 
     831      srcv_c2n(id_fr_i_ng)%laction = .TRUE.    
     832      srcv_c2n(id_fr_i_ng)%clgrid  = 'T'       
     833      srcv_c2n(id_fr_i_ng)%nsgn    = 1.       
     834      srcv_c2n(id_fr_i_ng)%clname = 'fr_i_ng' 
     835      srcv_c2n(id_fr_i_ng)%nct = 1 
     836      srcv_c2n(id_fr_i_ng)%ncplmodel = 1 
     837 
     838      srcv_c2n(id_a_i_ng)%laction = .TRUE.    
     839      srcv_c2n(id_a_i_ng)%clgrid  = 'F'       
     840      srcv_c2n(id_a_i_ng)%nsgn    = 1.       
     841      srcv_c2n(id_a_i_ng)%clname = 'a_i_ng' 
     842      srcv_c2n(id_a_i_ng)%nct = 5 
     843      srcv_c2n(id_a_i_ng)%ncplmodel = 1 
     844 
     845      srcv_c2n(id_vsno_ng)%laction = .TRUE.    
     846      srcv_c2n(id_vsno_ng)%clgrid  = 'F'       
     847      srcv_c2n(id_vsno_ng)%nsgn    = 1.       
     848      srcv_c2n(id_vsno_ng)%clname = 'vsno_ng' 
     849      srcv_c2n(id_vsno_ng)%nct = 1 
     850      srcv_c2n(id_vsno_ng)%ncplmodel = 1 
     851 
     852      srcv_c2n(id_vice_ng)%laction = .TRUE.    
     853      srcv_c2n(id_vice_ng)%clgrid  = 'F'       
     854      srcv_c2n(id_vice_ng)%nsgn    = 1.       
     855      srcv_c2n(id_vice_ng)%clname = 'vice_ng' 
     856      srcv_c2n(id_vice_ng)%nct = 1 
     857      srcv_c2n(id_vice_ng)%ncplmodel = 1 
     858#endif 
    665859      ! ================================ ! 
    666860      !     Define the send interface    ! 
     
    722916         ssnd(jps_fice)%laction = .TRUE.                  ! if ice treated in the ocean (even in climato case) 
    723917         ssnd(jps_fice1)%laction = .TRUE.                 ! First-order regridded ice concentration, to be used 
    724                                                      ! in producing atmos-to-ice fluxes 
     918                                                          ! in producing atmos-to-ice fluxes 
    725919! Currently no namelist entry to determine sending of multi-category ice fraction so use the thickness entry for now 
    726920         IF ( TRIM( sn_snd_thick%clcat ) == 'yes' ) ssnd(jps_fice)%nct = jpl 
     
    9241118         ENDIF 
    9251119      ENDIF 
    926  
    927       ! 
     1120       
     1121      ssnd(:)%laction = .FALSE. 
     1122      ! NEMO cice send interface 
     1123      ssnd_n2c(:)%laction = .FALSE. 
     1124!     ssnd_n2c(1)%laction = .TRUE.    
     1125!     ssnd_n2c(1)%clgrid  = 'T'        
     1126!     ssnd_n2c(1)%nsgn    = 1.         
     1127!     ssnd_n2c(1)%clname = 'OCN_O1P' 
     1128!     ssnd_n2c(1)%nct = 1 
     1129!     ssnd_n2c(1)%ncplmodel = 1 
     1130#if ! defined key_nemocice_decomp 
     1131      ssnd_n2c(id_sst0_np)%laction = .TRUE.    
     1132      ssnd_n2c(id_sst0_np)%clgrid  = 'T'        
     1133      ssnd_n2c(id_sst0_np)%nsgn    = 1.         
     1134      ssnd_n2c(id_sst0_np)%clname = 'sst_np' 
     1135      ssnd_n2c(id_sst0_np)%nct = 1 
     1136      ssnd_n2c(id_sst0_np)%ncplmodel = 1 
     1137 
     1138      ssnd_n2c(id_sstfrz0_np)%laction = .TRUE.    
     1139      ssnd_n2c(id_sstfrz0_np)%clgrid  = 'T'        
     1140      ssnd_n2c(id_sstfrz0_np)%nsgn    = 1.         
     1141      ssnd_n2c(id_sstfrz0_np)%clname = 'sstfrz0_np' 
     1142      ssnd_n2c(id_sstfrz0_np)%nct = 1 
     1143      ssnd_n2c(id_sstfrz0_np)%ncplmodel = 1 
     1144 
     1145      ssnd_n2c(id_strax_np)%laction = .TRUE.    
     1146      ssnd_n2c(id_strax_np)%clgrid  = 'T'        
     1147      ssnd_n2c(id_strax_np)%nsgn    = 1.         
     1148      ssnd_n2c(id_strax_np)%clname = 'strax_np' 
     1149      ssnd_n2c(id_strax_np)%nct = 1 
     1150      ssnd_n2c(id_strax_np)%ncplmodel = 1 
     1151 
     1152      ssnd_n2c(id_stray_np)%laction = .TRUE.    
     1153      ssnd_n2c(id_stray_np)%clgrid  = 'T'        
     1154      ssnd_n2c(id_stray_np)%nsgn    = 1.         
     1155      ssnd_n2c(id_stray_np)%clname = 'stray_np' 
     1156      ssnd_n2c(id_stray_np)%nct = 1 
     1157      ssnd_n2c(id_stray_np)%ncplmodel = 1 
     1158 
     1159      ssnd_n2c(id_flatn_f_np)%laction = .TRUE.    
     1160      ssnd_n2c(id_flatn_f_np)%clgrid  = 'T'        
     1161      ssnd_n2c(id_flatn_f_np)%nsgn    = 1.         
     1162      ssnd_n2c(id_flatn_f_np)%clname = 'flatn_f_np' 
     1163      ssnd_n2c(id_flatn_f_np)%nct = 5 
     1164      ssnd_n2c(id_flatn_f_np)%ncplmodel = 1 
     1165 
     1166      ssnd_n2c(id_fcondtopn_f_np)%laction = .FALSE.    
     1167      ssnd_n2c(id_fcondtopn_f_np)%clgrid  = 'T'        
     1168      ssnd_n2c(id_fcondtopn_f_np)%nsgn    = 1.         
     1169      ssnd_n2c(id_fcondtopn_f_np)%clname = 'fcondtopn_f_np' 
     1170      ssnd_n2c(id_fcondtopn_f_np)%nct = 5 
     1171      ssnd_n2c(id_fcondtopn_f_np)%ncplmodel = 1 
     1172 
     1173      ssnd_n2c(id_fsurfn_f_np)%laction = .TRUE.    
     1174      ssnd_n2c(id_fsurfn_f_np)%clgrid  = 'T'        
     1175      ssnd_n2c(id_fsurfn_f_np)%nsgn    = 1.         
     1176      ssnd_n2c(id_fsurfn_f_np)%clname = 'fsurfn_f_np' 
     1177      ssnd_n2c(id_fsurfn_f_np)%nct = 5 
     1178      ssnd_n2c(id_fsurfn_f_np)%ncplmodel = 1 
     1179 
     1180      ssnd_n2c(id_uatm_np)%laction = .TRUE.    
     1181      ssnd_n2c(id_uatm_np)%clgrid  = 'T'        
     1182      ssnd_n2c(id_uatm_np)%nsgn    = 1.         
     1183      ssnd_n2c(id_uatm_np)%clname = 'uatm_np' 
     1184      ssnd_n2c(id_uatm_np)%nct = 1 
     1185      ssnd_n2c(id_uatm_np)%ncplmodel = 1 
     1186 
     1187      ssnd_n2c(id_vatm_np)%laction = .TRUE.    
     1188      ssnd_n2c(id_vatm_np)%clgrid  = 'T'        
     1189      ssnd_n2c(id_vatm_np)%nsgn    = 1.         
     1190      ssnd_n2c(id_vatm_np)%clname = 'vatm_np' 
     1191      ssnd_n2c(id_vatm_np)%nct = 1 
     1192      ssnd_n2c(id_vatm_np)%ncplmodel = 1 
     1193 
     1194      ssnd_n2c(id_wind_np)%laction = .TRUE.    
     1195      ssnd_n2c(id_wind_np)%clgrid  = 'T'        
     1196      ssnd_n2c(id_wind_np)%nsgn    = 1.         
     1197      ssnd_n2c(id_wind_np)%clname = 'wind_np' 
     1198      ssnd_n2c(id_wind_np)%nct = 1 
     1199      ssnd_n2c(id_wind_np)%ncplmodel = 1 
     1200 
     1201      ssnd_n2c(id_fsw_np)%laction = .TRUE.    
     1202      ssnd_n2c(id_fsw_np)%clgrid  = 'T'        
     1203      ssnd_n2c(id_fsw_np)%nsgn    = 1.         
     1204      ssnd_n2c(id_fsw_np)%clname = 'fsw_np' 
     1205      ssnd_n2c(id_fsw_np)%nct = 1 
     1206      ssnd_n2c(id_fsw_np)%ncplmodel = 1 
     1207 
     1208      ssnd_n2c(id_flw_np)%laction = .TRUE.    
     1209      ssnd_n2c(id_flw_np)%clgrid  = 'T'        
     1210      ssnd_n2c(id_flw_np)%nsgn    = 1.         
     1211      ssnd_n2c(id_flw_np)%clname = 'flw_np' 
     1212      ssnd_n2c(id_flw_np)%nct = 1 
     1213      ssnd_n2c(id_flw_np)%ncplmodel = 1 
     1214 
     1215      ssnd_n2c(id_Tair_np)%laction = .TRUE.    
     1216      ssnd_n2c(id_Tair_np)%clgrid  = 'T'        
     1217      ssnd_n2c(id_Tair_np)%nsgn    = 1.         
     1218      ssnd_n2c(id_Tair_np)%clname = 'Tair_np' 
     1219      ssnd_n2c(id_Tair_np)%nct = 1 
     1220      ssnd_n2c(id_Tair_np)%ncplmodel = 1 
     1221 
     1222      ssnd_n2c(id_potT_np)%laction = .TRUE.    
     1223      ssnd_n2c(id_potT_np)%clgrid  = 'T'        
     1224      ssnd_n2c(id_potT_np)%nsgn    = 1.         
     1225      ssnd_n2c(id_potT_np)%clname = 'potT_np' 
     1226      ssnd_n2c(id_potT_np)%nct = 1 
     1227      ssnd_n2c(id_potT_np)%ncplmodel = 1 
     1228 
     1229      ssnd_n2c(id_rhoa_np)%laction = .TRUE.    
     1230      ssnd_n2c(id_rhoa_np)%clgrid  = 'T'        
     1231      ssnd_n2c(id_rhoa_np)%nsgn    = 1.         
     1232      ssnd_n2c(id_rhoa_np)%clname = 'rhoa_np' 
     1233      ssnd_n2c(id_rhoa_np)%nct = 1 
     1234      ssnd_n2c(id_rhoa_np)%ncplmodel = 1 
     1235 
     1236      ssnd_n2c(id_Qa_np)%laction = .TRUE.    
     1237      ssnd_n2c(id_Qa_np)%clgrid  = 'T'        
     1238      ssnd_n2c(id_Qa_np)%nsgn    = 1.         
     1239      ssnd_n2c(id_Qa_np)%clname = 'Qa_np' 
     1240      ssnd_n2c(id_Qa_np)%nct = 1 
     1241      ssnd_n2c(id_Qa_np)%ncplmodel = 1 
     1242 
     1243      ssnd_n2c(id_zlvl_np)%laction = .TRUE.    
     1244      ssnd_n2c(id_zlvl_np)%clgrid  = 'T'        
     1245      ssnd_n2c(id_zlvl_np)%nsgn    = 1.         
     1246      ssnd_n2c(id_zlvl_np)%clname = 'zlvl_np' 
     1247      ssnd_n2c(id_zlvl_np)%nct = 1 
     1248      ssnd_n2c(id_zlvl_np)%ncplmodel = 1 
     1249 
     1250      ssnd_n2c(id_swvdr_np)%laction = .TRUE.    
     1251      ssnd_n2c(id_swvdr_np)%clgrid  = 'T'        
     1252      ssnd_n2c(id_swvdr_np)%nsgn    = 1.         
     1253      ssnd_n2c(id_swvdr_np)%clname = 'swvdr_np' 
     1254      ssnd_n2c(id_swvdr_np)%nct = 1 
     1255      ssnd_n2c(id_swvdr_np)%ncplmodel = 1 
     1256 
     1257      ssnd_n2c(id_swvdf_np)%laction = .TRUE.    
     1258      ssnd_n2c(id_swvdf_np)%clgrid  = 'T'        
     1259      ssnd_n2c(id_swvdf_np)%nsgn    = 1.         
     1260      ssnd_n2c(id_swvdf_np)%clname = 'swvdf_np' 
     1261      ssnd_n2c(id_swvdf_np)%nct = 1 
     1262      ssnd_n2c(id_swvdf_np)%ncplmodel = 1 
     1263 
     1264      ssnd_n2c(id_swidr_np)%laction = .TRUE.    
     1265      ssnd_n2c(id_swidr_np)%clgrid  = 'T'        
     1266      ssnd_n2c(id_swidr_np)%nsgn    = 1.         
     1267      ssnd_n2c(id_swidr_np)%clname = 'swidr_np' 
     1268      ssnd_n2c(id_swidr_np)%nct = 1 
     1269      ssnd_n2c(id_swidr_np)%ncplmodel = 1 
     1270 
     1271      ssnd_n2c(id_swidf_np)%laction = .TRUE.    
     1272      ssnd_n2c(id_swidf_np)%clgrid  = 'T'        
     1273      ssnd_n2c(id_swidf_np)%nsgn    = 1.         
     1274      ssnd_n2c(id_swidf_np)%clname = 'swidf_np' 
     1275      ssnd_n2c(id_swidf_np)%nct = 1 
     1276      ssnd_n2c(id_swidf_np)%ncplmodel = 1 
     1277 
     1278      ssnd_n2c(id_fsnow_np)%laction = .TRUE.    
     1279      ssnd_n2c(id_fsnow_np)%clgrid  = 'T'        
     1280      ssnd_n2c(id_fsnow_np)%nsgn    = 1.         
     1281      ssnd_n2c(id_fsnow_np)%clname = 'fsnow_np' 
     1282      ssnd_n2c(id_fsnow_np)%nct = 1 
     1283      ssnd_n2c(id_fsnow_np)%ncplmodel = 1 
     1284 
     1285      ssnd_n2c(id_frain_np)%laction = .TRUE.    
     1286      ssnd_n2c(id_frain_np)%clgrid  = 'T'        
     1287      ssnd_n2c(id_frain_np)%nsgn    = 1.         
     1288      ssnd_n2c(id_frain_np)%clname = 'frain_np' 
     1289      ssnd_n2c(id_frain_np)%nct = 1 
     1290      ssnd_n2c(id_frain_np)%ncplmodel = 1 
     1291 
     1292      ssnd_n2c(id_sstfrz_np)%laction = .TRUE.    
     1293      ssnd_n2c(id_sstfrz_np)%clgrid  = 'T'        
     1294      ssnd_n2c(id_sstfrz_np)%nsgn    = 1.         
     1295      ssnd_n2c(id_sstfrz_np)%clname = 'sstfrz_np' 
     1296      ssnd_n2c(id_sstfrz_np)%nct = 1 
     1297      ssnd_n2c(id_sstfrz_np)%ncplmodel = 1 
     1298 
     1299      ssnd_n2c(id_nfrzmlt_np)%laction = .TRUE.    
     1300      ssnd_n2c(id_nfrzmlt_np)%clgrid  = 'T'        
     1301      ssnd_n2c(id_nfrzmlt_np)%nsgn    = 1.         
     1302      ssnd_n2c(id_nfrzmlt_np)%clname = 'nfrzmlt_np' 
     1303      ssnd_n2c(id_nfrzmlt_np)%nct = 1 
     1304      ssnd_n2c(id_nfrzmlt_np)%ncplmodel = 1 
     1305 
     1306      ssnd_n2c(id_sst_m_np)%laction = .TRUE.    
     1307      ssnd_n2c(id_sst_m_np)%clgrid  = 'T'        
     1308      ssnd_n2c(id_sst_m_np)%nsgn    = 1.         
     1309      ssnd_n2c(id_sst_m_np)%clname = 'sst_m_np' 
     1310      ssnd_n2c(id_sst_m_np)%nct = 1 
     1311      ssnd_n2c(id_sst_m_np)%ncplmodel = 1 
     1312 
     1313      ssnd_n2c(id_sss_m_np)%laction = .TRUE.    
     1314      ssnd_n2c(id_sss_m_np)%clgrid  = 'T'        
     1315      ssnd_n2c(id_sss_m_np)%nsgn    = 1.         
     1316      ssnd_n2c(id_sss_m_np)%clname = 'sss_m_np' 
     1317      ssnd_n2c(id_sss_m_np)%nct = 1 
     1318      ssnd_n2c(id_sss_m_np)%ncplmodel = 1 
     1319 
     1320      ssnd_n2c(id_tsfc_ice_np)%laction = .FALSE.    
     1321      ssnd_n2c(id_tsfc_ice_np)%clgrid  = 'F'        
     1322      ssnd_n2c(id_tsfc_ice_np)%nsgn    = 1.         
     1323      ssnd_n2c(id_tsfc_ice_np)%clname = 'tsfc_ice_np' 
     1324      ssnd_n2c(id_tsfc_ice_np)%nct = 5 
     1325      ssnd_n2c(id_tsfc_ice_np)%ncplmodel = 1 
     1326 
     1327      ssnd_n2c(id_uocn_np)%laction = .TRUE.    
     1328      ssnd_n2c(id_uocn_np)%clgrid  = 'T'        
     1329      ssnd_n2c(id_uocn_np)%nsgn    = 1.         
     1330      ssnd_n2c(id_uocn_np)%clname = 'uocn_np' 
     1331      ssnd_n2c(id_uocn_np)%nct = 1 
     1332      ssnd_n2c(id_uocn_np)%ncplmodel = 1 
     1333 
     1334      ssnd_n2c(id_vocn_np)%laction = .TRUE.    
     1335      ssnd_n2c(id_vocn_np)%clgrid  = 'F'        
     1336      ssnd_n2c(id_vocn_np)%nsgn    = 1.         
     1337      ssnd_n2c(id_vocn_np)%clname = 'vocn_np' 
     1338      ssnd_n2c(id_vocn_np)%nct = 1 
     1339      ssnd_n2c(id_vocn_np)%ncplmodel = 1 
     1340 
     1341      ssnd_n2c(id_ss_tltx_np)%laction = .TRUE.    
     1342      ssnd_n2c(id_ss_tltx_np)%clgrid  = 'F'        
     1343      ssnd_n2c(id_ss_tltx_np)%nsgn    = 1.         
     1344      ssnd_n2c(id_ss_tltx_np)%clname = 'ss_tltx_np' 
     1345      ssnd_n2c(id_ss_tltx_np)%nct = 1 
     1346      ssnd_n2c(id_ss_tltx_np)%ncplmodel = 1 
     1347 
     1348      ssnd_n2c(id_ss_tlty_np)%laction = .TRUE.    
     1349      ssnd_n2c(id_ss_tlty_np)%clgrid  = 'F'        
     1350      ssnd_n2c(id_ss_tlty_np)%nsgn    = 1.         
     1351      ssnd_n2c(id_ss_tlty_np)%clname = 'ss_tlty_np' 
     1352      ssnd_n2c(id_ss_tlty_np)%nct = 1 
     1353      ssnd_n2c(id_ss_tlty_np)%ncplmodel = 1 
     1354#endif 
    9281355      ! ================================ ! 
    9291356      !   initialisation of the coupler  ! 
     
    9311358 
    9321359      CALL cpl_define(jprcv, jpsnd, nn_cplmodel) 
    933        
     1360 
    9341361      IF (ln_usecplmask) THEN  
    9351362         xcplmask(:,:,:) = 0. 
     
    9461373      IF( ln_dm2dc .AND. ln_cpl .AND. ncpl_qsr_freq /= 86400 )   & 
    9471374         &   CALL ctl_stop( 'sbc_cpl_init: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) 
     1375      if(ncpl_qsr_freq.LT.1) ncpl_qsr_freq = 1 ! cpl_freq("OCN_O1P")  
    9481376      ncpl_qsr_freq = 86400 / ncpl_qsr_freq 
    9491377 
     
    10911519               IF( srcv(jpr_otx2)%laction ) THEN 
    10921520                  CALL rot_rep( frcv(jpr_otx2)%z3(:,:,1), frcv(jpr_oty2)%z3(:,:,1), srcv(jpr_otx2)%clgrid, 'en->j', zty )    
    1093                ELSE   
     1521               ELSE 
    10941522                  CALL rot_rep( frcv(jpr_otx1)%z3(:,:,1), frcv(jpr_oty1)%z3(:,:,1), srcv(jpr_otx1)%clgrid, 'en->j', zty )   
    10951523               ENDIF 
     
    13191747         ELSE                                       ;   zqsr(:,:) = 0._wp 
    13201748         ENDIF 
    1321          IF( ln_dm2dc .AND. ln_cpl )   zqsr(:,:) = sbc_dcy( zqsr )   ! modify qsr to include the diurnal cycle 
     1749         IF( ln_dm2dc .AND. ln_cpl .AND. .NOT.LOASIS_NEMO_CICE )   zqsr(:,:) = sbc_dcy( zqsr )   ! modify qsr to include the diurnal cycle 
    13221750         IF( ln_mixcpl ) THEN   ;   qsr(:,:) = qsr(:,:) * xcplmask(:,:,0) + zqsr(:,:) * zmsk(:,:) 
    13231751         ELSE                   ;   qsr(:,:) =                              zqsr(:,:) 
     
    19842412            &                     + palbi         (:,:,1) * zicefr(:,:) ) ) 
    19852413      END SELECT 
    1986       IF( ln_dm2dc .AND. ln_cpl ) THEN   ! modify qsr to include the diurnal cycle 
     2414      IF( ln_dm2dc .AND. ln_cpl .AND. .NOT.LOASIS_NEMO_CICE) THEN   ! modify qsr to include the diurnal cycle 
    19872415         zqsr_tot(:,:  ) = sbc_dcy( zqsr_tot(:,:  ) ) 
    19882416         DO jl=1,jpl 
     
    21262554               SELECT CASE( sn_snd_temp%clcat ) 
    21272555               CASE( 'yes' )    
    2128            ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) * a_i(:,:,1:jpl) 
     2556                ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) * a_i(:,:,1:jpl) 
    21292557               CASE( 'no' ) 
    2130            ztmp3(:,:,:) = 0.0 
    2131            DO jl=1,jpl 
     2558                ztmp3(:,:,:) = 0.0 
     2559                   DO jl=1,jpl 
    21322560                     ztmp3(:,:,1) = ztmp3(:,:,1) + tn_ice(:,:,jl) * a_i(:,:,jl) 
    2133            ENDDO 
     2561                   ENDDO 
    21342562               CASE default                  ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_temp%clcat' ) 
    21352563               END SELECT 
     
    22122640         CASE( 'no' )    ;   ztmp3(:,:,1) = fr_i(:,:) 
    22132641         CASE default    ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick1%clcat' ) 
    2214     END SELECT 
     2642        END SELECT 
    22152643         CALL cpl_snd (jps_fice1, isec, ztmp3, info) 
    22162644      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.