- Timestamp:
- 2017-12-19T15:42:23+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r6912_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r6912 r9132 52 52 #endif 53 53 USE lib_fortran, ONLY: glob_sum 54 #if ! defined key_nemocice_decomp 55 USE OASIS_NEMO_CICE 56 #endif 57 54 58 55 59 IMPLICIT NONE … … 149 153 INTEGER, PARAMETER :: jpsnd = 35 ! total number of fields sent 150 154 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 151 216 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 153 218 154 219 ! !!** namelist namsbc_cpl ** … … 173 238 LOGICAL :: ln_usecplmask ! use a coupling mask file to merge data received from several models 174 239 ! -> file cplmask.nc with the float variable called cplmask (jpi,jpj,nn_cplmodel) 240 LOGICAL, PARAMETER :: LOASIS_NEMO_CICE = .TRUE. 175 241 TYPE :: DYNARR 176 242 REAL(wp), POINTER, DIMENSION(:,:,:) :: z3 … … 273 339 WRITE(numout,*)'~~~~~~~~~~~~' 274 340 ENDIF 275 IF( lwp .AND. ln_cpl ) THEN ! control print 341 ! IF( lwp .AND. ln_cpl ) THEN ! control print 342 IF( lwp ) THEN 276 343 WRITE(numout,*)' received fields (mutiple ice categories)' 277 344 WRITE(numout,*)' 10m wind module = ', TRIM(sn_rcv_w10m%cldes ), ' (', TRIM(sn_rcv_w10m%clcat ), ')' … … 533 600 srcv(jpr_atm_dust)%laction = .TRUE. 534 601 END IF 535 602 536 603 ! ! ------------------------- ! 537 604 ! ! topmelt and botmelt ! … … 643 710 ENDIF 644 711 ENDIF 645 712 713 srcv(:)%laction = .FALSE. 714 646 715 ! =================================================== ! 647 716 ! Allocate all parts of frcv used for received fields ! … … 663 732 END IF 664 733 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 665 859 ! ================================ ! 666 860 ! Define the send interface ! … … 722 916 ssnd(jps_fice)%laction = .TRUE. ! if ice treated in the ocean (even in climato case) 723 917 ssnd(jps_fice1)%laction = .TRUE. ! First-order regridded ice concentration, to be used 724 918 ! in producing atmos-to-ice fluxes 725 919 ! Currently no namelist entry to determine sending of multi-category ice fraction so use the thickness entry for now 726 920 IF ( TRIM( sn_snd_thick%clcat ) == 'yes' ) ssnd(jps_fice)%nct = jpl … … 924 1118 ENDIF 925 1119 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 928 1355 ! ================================ ! 929 1356 ! initialisation of the coupler ! … … 931 1358 932 1359 CALL cpl_define(jprcv, jpsnd, nn_cplmodel) 933 1360 934 1361 IF (ln_usecplmask) THEN 935 1362 xcplmask(:,:,:) = 0. … … 946 1373 IF( ln_dm2dc .AND. ln_cpl .AND. ncpl_qsr_freq /= 86400 ) & 947 1374 & 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") 948 1376 ncpl_qsr_freq = 86400 / ncpl_qsr_freq 949 1377 … … 1091 1519 IF( srcv(jpr_otx2)%laction ) THEN 1092 1520 CALL rot_rep( frcv(jpr_otx2)%z3(:,:,1), frcv(jpr_oty2)%z3(:,:,1), srcv(jpr_otx2)%clgrid, 'en->j', zty ) 1093 ELSE 1521 ELSE 1094 1522 CALL rot_rep( frcv(jpr_otx1)%z3(:,:,1), frcv(jpr_oty1)%z3(:,:,1), srcv(jpr_otx1)%clgrid, 'en->j', zty ) 1095 1523 ENDIF … … 1319 1747 ELSE ; zqsr(:,:) = 0._wp 1320 1748 ENDIF 1321 IF( ln_dm2dc .AND. ln_cpl ) zqsr(:,:) = sbc_dcy( zqsr ) ! modify qsr to include the diurnal cycle1749 IF( ln_dm2dc .AND. ln_cpl .AND. .NOT.LOASIS_NEMO_CICE ) zqsr(:,:) = sbc_dcy( zqsr ) ! modify qsr to include the diurnal cycle 1322 1750 IF( ln_mixcpl ) THEN ; qsr(:,:) = qsr(:,:) * xcplmask(:,:,0) + zqsr(:,:) * zmsk(:,:) 1323 1751 ELSE ; qsr(:,:) = zqsr(:,:) … … 1984 2412 & + palbi (:,:,1) * zicefr(:,:) ) ) 1985 2413 END SELECT 1986 IF( ln_dm2dc .AND. ln_cpl ) THEN ! modify qsr to include the diurnal cycle2414 IF( ln_dm2dc .AND. ln_cpl .AND. .NOT.LOASIS_NEMO_CICE) THEN ! modify qsr to include the diurnal cycle 1987 2415 zqsr_tot(:,: ) = sbc_dcy( zqsr_tot(:,: ) ) 1988 2416 DO jl=1,jpl … … 2126 2554 SELECT CASE( sn_snd_temp%clcat ) 2127 2555 CASE( 'yes' ) 2128 2556 ztmp3(:,:,1:jpl) = tn_ice(:,:,1:jpl) * a_i(:,:,1:jpl) 2129 2557 CASE( 'no' ) 2130 2131 2558 ztmp3(:,:,:) = 0.0 2559 DO jl=1,jpl 2132 2560 ztmp3(:,:,1) = ztmp3(:,:,1) + tn_ice(:,:,jl) * a_i(:,:,jl) 2133 2561 ENDDO 2134 2562 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_temp%clcat' ) 2135 2563 END SELECT … … 2212 2640 CASE( 'no' ) ; ztmp3(:,:,1) = fr_i(:,:) 2213 2641 CASE default ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_thick1%clcat' ) 2214 2642 END SELECT 2215 2643 CALL cpl_snd (jps_fice1, isec, ztmp3, info) 2216 2644 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.