Changeset 1075
- Timestamp:
- Jan 20, 2009, 10:58:25 AM (16 years ago)
- Location:
- LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/cpl_mod.F90
r1073 r1075 305 305 306 306 ! Save each field in a 2D array. 307 IF (version_ocean=='nemo') THEN 308 read_sst(:,:) = tab_read_flds(:,:,1) ! Sea surface temperature 309 read_sic(:,:) = tab_read_flds(:,:,2) ! Sea ice concentration 310 read_sit(:,:) = tab_read_flds(:,:,3) ! Sea ice temperature 311 read_alb_sic(:,:) = tab_read_flds(:,:,4) ! Albedo at sea ice 312 ELSE IF (version_ocean=='opa8') THEN 313 read_sst(:,:) = tab_read_flds(:,:,1) ! Sea surface temperature 314 read_sic(:,:) = tab_read_flds(:,:,2) ! Sea ice concentration 315 read_alb_sic(:,:) = tab_read_flds(:,:,3) ! Albedo at sea ice 316 read_sit(:,:) = tab_read_flds(:,:,4) ! Sea ice temperature 317 ENDIF 307 308 read_sst(:,:) = tab_read_flds(:,:,1) ! Sea surface temperature 309 read_sic(:,:) = tab_read_flds(:,:,2) ! Sea ice concentration 310 read_alb_sic(:,:) = tab_read_flds(:,:,3) ! Albedo at sea ice 311 read_sit(:,:) = tab_read_flds(:,:,4) ! Sea ice temperature 318 312 319 313 !************************************************************************************* … … 954 948 !************************************************************************************* 955 949 ! All fields are stored in a table tab_flds(:,:,:) 956 ! First store the fields 7 to 18 which are already on the right format 957 ! 958 !************************************************************************************* 950 ! First store the fields which are already on the right format 951 ! 952 !************************************************************************************* 953 954 tab_flds(:,:,7) = cpl_windsp2D(:,:) 955 tab_flds(:,:,8) = cpl_sols2D(:,:,2) 956 tab_flds(:,:,9) = cpl_sols2D(:,:,1) 957 tab_flds(:,:,10) = cpl_nsol2D(:,:,2) 958 tab_flds(:,:,11) = cpl_nsol2D(:,:,1) 959 tab_flds(:,:,12) = cpl_fder2D(:,:,2) 960 959 961 IF (version_ocean=='nemo') THEN 960 tab_flds(:,:,7) = cpl_windsp2D(:,:) 961 tab_flds(:,:,14) = cpl_sols2D(:,:,2) 962 tab_flds(:,:,12) = cpl_sols2D(:,:,1) 963 tab_flds(:,:,15) = cpl_nsol2D(:,:,2) 964 tab_flds(:,:,13) = cpl_nsol2D(:,:,1) 965 tab_flds(:,:,16) = cpl_fder2D(:,:,2) 966 tab_flds(:,:,11) = cpl_evap2D(:,:,2) 967 tab_flds(:,:,18) = cpl_rriv2D(:,:) 968 tab_flds(:,:,19) = cpl_rcoa2D(:,:) 962 tab_flds(:,:,18) = cpl_rriv2D(:,:) + cpl_rcoa2D(:,:) 969 963 ELSE IF (version_ocean=='opa8') THEN 970 tab_flds(:,:,7) = cpl_windsp2D(:,:)971 tab_flds(:,:,8) = cpl_sols2D(:,:,2)972 tab_flds(:,:,9) = cpl_sols2D(:,:,1)973 tab_flds(:,:,10) = cpl_nsol2D(:,:,2)974 tab_flds(:,:,11) = cpl_nsol2D(:,:,1)975 tab_flds(:,:,12) = cpl_fder2D(:,:,2)976 964 tab_flds(:,:,13) = cpl_evap2D(:,:,2) 977 965 tab_flds(:,:,14) = cpl_evap2D(:,:,1) … … 1037 1025 ! fractions of ocean and seaice. 1038 1026 ! 1039 ! Store the fields for rain and snow directly in tab_flds(:,:,15) and1040 ! tab_flds(:,:,16) respectively.1041 !1042 1027 !************************************************************************************* 1043 1028 ! fraction oce+seaice … … 1045 1030 1046 1031 IF (version_ocean=='nemo') THEN 1047 tab_flds(:,:,10) = 0.0 1032 tab_flds(:,:,13) = cpl_evap2D(:,:,2) - (cpl_rain2D(:,:,2) + cpl_snow2D(:,:,2)) 1033 1034 tab_flds(:,:,14) = 0.0 1048 1035 tmp_taux(:,:) = 0.0 1049 1036 tmp_tauy(:,:) = 0.0 1050 1037 ! For all valid grid cells containing some fraction of ocean or sea-ice 1051 1038 WHERE ( deno(:,:) /= 0 ) 1052 tab_flds(:,:,10) = cpl_snow2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) + & 1053 cpl_snow2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:) 1054 1055 tmp_taux = cpl_taux2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) + & 1056 cpl_taux2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:) 1057 tmp_tauy = cpl_tauy2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) + & 1058 cpl_tauy2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:) 1039 tmp_taux = cpl_taux2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) + & 1040 cpl_taux2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:) 1041 tmp_tauy = cpl_tauy2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) + & 1042 cpl_tauy2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:) 1043 tab_flds(:,:,14) = cpl_snow2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) + & 1044 cpl_snow2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:) 1059 1045 ENDWHERE 1060 tab_flds(:,:,8) = (cpl_evap2D(:,:,1) - ( cpl_rain2D(:,:,1) + cpl_snow2D(:,:,1))) 1061 tab_flds(:,:,9) = (cpl_evap2D(:,:,2) - ( cpl_rain2D(:,:,2) + cpl_snow2D(:,:,2))) 1062 1046 1047 WHERE (pctsrf2D(:,:,is_sic) == 0) 1048 cpl_evap2D(:,:,2) = 0.0 1049 END WHERE 1050 1051 tab_flds(:,:,14) = cpl_evap2D(:,:,2) - tab_flds(:,:,14) 1052 tab_flds(:,:,15) = cpl_evap2D(:,:,1) - (cpl_rain2D(:,:,1) + cpl_snow2D(:,:,1)) 1053 tab_flds(:,:,16) = cpl_evap2D(:,:,2) 1054 1063 1055 ELSE IF (version_ocean=='opa8') THEN 1056 ! Store fields for rain and snow in tab_flds(:,:,15) and tab_flds(:,:,16) 1064 1057 tab_flds(:,:,15) = 0.0 1065 1058 tab_flds(:,:,16) = 0.0 -
LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/oasis.F90
r1073 r1075 127 127 !************************************************************************************ 128 128 ! Define symbolic name for fields exchanged from atmos to coupler, 129 ! must be the same as (1) of the field definition in namcouple: 129 ! must be the same as (1) of the field definition in namcouple: 130 ! 131 ! Initialization 132 cl_writ(:)='NOFLDATM' 133 130 134 cl_writ(1)='COTAUXXU' 131 135 cl_writ(2)='COTAUYYU' … … 135 139 cl_writ(6)='COTAUZZV' 136 140 cl_writ(7)='COWINDSP' 141 cl_writ(8)='COSHFICE' 142 cl_writ(9)='COSHFOCE' 143 cl_writ(10)='CONSFICE' 144 cl_writ(11)='CONSFOCE' 145 cl_writ(12)='CODFLXDT' 137 146 138 147 IF (version_ocean=='nemo') THEN 139 cl_writ(8) ='COPEFWAT' 140 cl_writ(9) ='COPEFICE' 141 cl_writ(10)='COTOSPSU' 142 cl_writ(11)='COICEVAP' 143 cl_writ(12)='COSWFLDO' 144 cl_writ(13)='CONSFLDO' 145 cl_writ(14)='COSHFLIC' 146 cl_writ(15)='CONSFLIC' 147 cl_writ(16)='CODFLXDT' 148 cl_writ(17)='CRWOCEIS' 149 cl_writ(18)='CRWOCERD' 150 cl_writ(19)='CRWOCECD' 148 cl_writ(13)='COEMPSIC' 149 cl_writ(14)='CONESOPR' 150 cl_writ(15)='COEMPOCE' 151 cl_writ(16)='COICEVAP' 152 cl_writ(17)='COCALVIN' 153 cl_writ(18)='COLIQRUN' 151 154 ELSE IF (version_ocean=='opa8') THEN 152 cl_writ(8)='COSHFICE'153 cl_writ(9)='COSHFOCE'154 cl_writ(10)='CONSFICE'155 cl_writ(11)='CONSFOCE'156 cl_writ(12)='CODFLXDT'157 155 cl_writ(13)='COTFSICE' 158 156 cl_writ(14)='COTFSOCE' … … 165 163 ! 166 164 ! Define symbolic name for fields exchanged from coupler to atmosphere, 167 ! must be the same as (2) of the field definition in namcouple: 168 ! 169 IF (version_ocean=='nemo') THEN 170 cl_read(1)='SISUTESW' 171 cl_read(2)='SIICECOV' 172 cl_read(4)='SIICEALW' 173 cl_read(3)='SIICTEMW' 174 ELSE IF (version_ocean=='opa8') THEN 175 cl_read(1)='SISUTESW' 176 cl_read(2)='SIICECOV' 177 cl_read(3)='SIICEALW' 178 cl_read(4)='SIICTEMW' 179 ENDIF 165 ! must be the same as (2) of the field definition in namcouple: 166 ! 167 ! Initialization 168 cl_read(:)='NOFLDATM' 169 170 cl_read(1)='SISUTESW' 171 cl_read(2)='SIICECOV' 172 cl_read(3)='SIICEALW' 173 cl_read(4)='SIICTEMW' 180 174 181 175 il_var_nodims(1) = 2
Note: See TracChangeset
for help on using the changeset viewer.