Changeset 179
- Timestamp:
- Mar 20, 2001, 4:14:30 PM (24 years ago)
- Location:
- LMDZ.3.3/branches/rel-LF
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/dyn3d/dynredem.F
r79 r179 1 c $Header$ 2 c 1 3 SUBROUTINE dynredem0(fichnom,idayref,anneeref,phis,nq) 2 4 USE IOIPSL … … 132 134 c 133 135 ierr = NF_REDEF (nid) 134 #ifdef NC_DOUBLE135 ierr = NF_DEF_VAR (nid,"controle",NF_DOUBLE,1,idim_index,nvarid)136 #else137 136 ierr = NF_DEF_VAR (nid,"controle",NF_FLOAT,1,idim_index,nvarid) 138 #endif139 137 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22, 140 138 . "Parametres de controle") … … 147 145 c 148 146 ierr = NF_REDEF (nid) 149 #ifdef NC_DOUBLE150 ierr = NF_DEF_VAR (nid,"rlonu",NF_DOUBLE,1,idim_rlonu,nvarid)151 #else152 147 ierr = NF_DEF_VAR (nid,"rlonu",NF_FLOAT,1,idim_rlonu,nvarid) 153 #endif154 148 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 23, 155 149 . "Longitudes des points U") … … 162 156 c 163 157 ierr = NF_REDEF (nid) 164 #ifdef NC_DOUBLE165 ierr = NF_DEF_VAR (nid,"rlatu",NF_DOUBLE,1,idim_rlatu,nvarid)166 #else167 158 ierr = NF_DEF_VAR (nid,"rlatu",NF_FLOAT,1,idim_rlatu,nvarid) 168 #endif169 159 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22, 170 160 . "Latitudes des points U") … … 177 167 c 178 168 ierr = NF_REDEF (nid) 179 #ifdef NC_DOUBLE180 ierr = NF_DEF_VAR (nid,"rlonv",NF_DOUBLE,1,idim_rlonv,nvarid)181 #else182 169 ierr = NF_DEF_VAR (nid,"rlonv",NF_FLOAT,1,idim_rlonv,nvarid) 183 #endif184 170 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 23, 185 171 . "Longitudes des points V") … … 192 178 c 193 179 ierr = NF_REDEF (nid) 194 #ifdef NC_DOUBLE195 ierr = NF_DEF_VAR (nid,"rlatv",NF_DOUBLE,1,idim_rlatv,nvarid)196 #else197 180 ierr = NF_DEF_VAR (nid,"rlatv",NF_FLOAT,1,idim_rlatv,nvarid) 198 #endif199 181 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22, 200 182 . "Latitudes des points V") … … 207 189 c 208 190 ierr = NF_REDEF (nid) 209 #ifdef NC_DOUBLE210 ierr = NF_DEF_VAR (nid,"nivsigs",NF_DOUBLE,1,idim_s,nvarid)211 #else212 191 ierr = NF_DEF_VAR (nid,"nivsigs",NF_FLOAT,1,idim_s,nvarid) 213 #endif214 192 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 28, 215 193 . "Numero naturel des couches s") … … 222 200 c 223 201 ierr = NF_REDEF (nid) 224 #ifdef NC_DOUBLE225 ierr = NF_DEF_VAR (nid,"nivsig",NF_DOUBLE,1,idim_sig,nvarid)226 #else227 202 ierr = NF_DEF_VAR (nid,"nivsig",NF_FLOAT,1,idim_sig,nvarid) 228 #endif229 203 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 32, 230 204 . "Numero naturel des couches sigma") … … 237 211 c 238 212 ierr = NF_REDEF (nid) 239 #ifdef NC_DOUBLE240 ierr = NF_DEF_VAR (nid,"ap",NF_DOUBLE,1,idim_sig,nvarid)241 #else242 213 ierr = NF_DEF_VAR (nid,"ap",NF_FLOAT,1,idim_sig,nvarid) 243 #endif244 214 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 26, 245 215 . "Coefficient A pour hybride") … … 252 222 c 253 223 ierr = NF_REDEF (nid) 254 #ifdef NC_DOUBLE255 ierr = NF_DEF_VAR (nid,"bp",NF_DOUBLE,1,idim_sig,nvarid)256 #else257 224 ierr = NF_DEF_VAR (nid,"bp",NF_FLOAT,1,idim_sig,nvarid) 258 #endif259 225 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 26, 260 226 . "Coefficient B pour hybride") … … 267 233 c 268 234 ierr = NF_REDEF (nid) 269 #ifdef NC_DOUBLE270 ierr = NF_DEF_VAR (nid,"presnivs",NF_DOUBLE,1,idim_s,nvarid)271 #else272 235 ierr = NF_DEF_VAR (nid,"presnivs",NF_FLOAT,1,idim_s,nvarid) 273 #endif274 236 ierr = NF_ENDDEF(nid) 275 237 #ifdef NC_DOUBLE … … 284 246 dims2(1) = idim_rlonu 285 247 dims2(2) = idim_rlatu 286 #ifdef NC_DOUBLE287 ierr = NF_DEF_VAR (nid,"cu",NF_DOUBLE,2,dims2,nvarid)288 #else289 248 ierr = NF_DEF_VAR (nid,"cu",NF_FLOAT,2,dims2,nvarid) 290 #endif291 249 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 29, 292 250 . "Coefficient de passage pour U") … … 301 259 dims2(1) = idim_rlonv 302 260 dims2(2) = idim_rlatv 303 #ifdef NC_DOUBLE304 ierr = NF_DEF_VAR (nid,"cv",NF_DOUBLE,2,dims2,nvarid)305 #else306 261 ierr = NF_DEF_VAR (nid,"cv",NF_FLOAT,2,dims2,nvarid) 307 #endif308 262 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 29, 309 263 . "Coefficient de passage pour V") … … 320 274 dims2(1) = idim_rlonv 321 275 dims2(2) = idim_rlatu 322 #ifdef NC_DOUBLE323 ierr = NF_DEF_VAR (nid,"aire",NF_DOUBLE,2,dims2,nvarid)324 #else325 276 ierr = NF_DEF_VAR (nid,"aire",NF_FLOAT,2,dims2,nvarid) 326 #endif327 277 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 22, 328 278 . "Aires de chaque maille") … … 339 289 dims2(1) = idim_rlonv 340 290 dims2(2) = idim_rlatu 341 #ifdef NC_DOUBLE342 ierr = NF_DEF_VAR (nid,"phisinit",NF_DOUBLE,2,dims2,nvarid)343 #else344 291 ierr = NF_DEF_VAR (nid,"phisinit",NF_FLOAT,2,dims2,nvarid) 345 #endif346 292 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 19, 347 293 . "Geopotentiel au sol") … … 357 303 ierr = NF_REDEF (nid) ! entrer dans le mode de definition 358 304 c 359 #ifdef NC_DOUBLE360 ierr = NF_DEF_VAR (nid,"temps",NF_DOUBLE,1,idim_tim,nvarid)361 #else362 305 ierr = NF_DEF_VAR (nid,"temps",NF_FLOAT,1,idim_tim,nvarid) 363 #endif364 306 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 19, 365 307 . "Temps de simulation") … … 374 316 dims4(3) = idim_s 375 317 dims4(4) = idim_tim 376 #ifdef NC_DOUBLE377 ierr = NF_DEF_VAR (nid,"ucov",NF_DOUBLE,4,dims4,nvarid)378 #else379 318 ierr = NF_DEF_VAR (nid,"ucov",NF_FLOAT,4,dims4,nvarid) 380 #endif381 319 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 9, 382 320 . "Vitesse U") … … 386 324 dims4(3) = idim_s 387 325 dims4(4) = idim_tim 388 #ifdef NC_DOUBLE389 ierr = NF_DEF_VAR (nid,"vcov",NF_DOUBLE,4,dims4,nvarid)390 #else391 326 ierr = NF_DEF_VAR (nid,"vcov",NF_FLOAT,4,dims4,nvarid) 392 #endif393 327 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 9, 394 328 . "Vitesse V") … … 398 332 dims4(3) = idim_s 399 333 dims4(4) = idim_tim 400 #ifdef NC_DOUBLE401 ierr = NF_DEF_VAR (nid,"teta",NF_DOUBLE,4,dims4,nvarid)402 #else403 334 ierr = NF_DEF_VAR (nid,"teta",NF_FLOAT,4,dims4,nvarid) 404 #endif405 335 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 11, 406 336 . "Temperature") … … 418 348 str3(1:1)='q' 419 349 WRITE(str3(2:3),'(i2.2)') iq 420 #ifdef NC_DOUBLE421 ierr = NF_DEF_VAR (nid,str3,NF_DOUBLE,4,dims4,nvarid)422 #else423 350 ierr = NF_DEF_VAR (nid,str3,NF_FLOAT,4,dims4,nvarid) 424 #endif425 351 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 12, 426 352 . "Traceurs "//str3) … … 433 359 dims4(3) = idim_s 434 360 dims4(4) = idim_tim 435 #ifdef NC_DOUBLE436 ierr = NF_DEF_VAR (nid,"masse",NF_DOUBLE,4,dims4,nvarid)437 #else438 361 ierr = NF_DEF_VAR (nid,"masse",NF_FLOAT,4,dims4,nvarid) 439 #endif440 362 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 12, 441 363 . "C est quoi ?") … … 444 366 dims3(2) = idim_rlatu 445 367 dims3(3) = idim_tim 446 #ifdef NC_DOUBLE447 ierr = NF_DEF_VAR (nid,"ps",NF_DOUBLE,3,dims3,nvarid)448 #else449 368 ierr = NF_DEF_VAR (nid,"ps",NF_FLOAT,3,dims3,nvarid) 450 #endif451 369 ierr = NF_PUT_ATT_TEXT (nid, nvarid, "title", 15, 452 370 . "Pression au sol") -
LMDZ.3.3/branches/rel-LF/libf/dyn3d/temps.h
r99 r179 1 ! $Header$ 2 ! 1 3 !----------------------------------------------------------------------- 2 4 ! INCLUDE 'temps.h' 3 5 4 COMMON/temps/itaufin,dt, 5 s day_ini,day_end,anne_ini 6 COMMON/temps/itaufin,dt, day_ini,day_end,anne_ini 6 7 7 8 INTEGER itaufin -
LMDZ.3.3/branches/rel-LF/libf/phylmd/inc_cpl.h
r98 r179 1 C 2 C -- inc_cpl.h 1998-04 3 C ********** 4 C@ 5 C@ Contents : variables describing pipe and field names 6 C@ -------- 7 C@ 8 C@ -- cl_write : for fields to write 9 C@ 10 C@ -- cl_read : for fields to read 11 C@ 12 C ------------------------------------------------------------------- 13 C 1 ! 2 ! $Header$ 3 ! 4 ! -- inc_cpl.h 1998-04 5 ! ********** 6 !@ 7 !@ Contents : variables describing pipe and field names 8 !@ -------- 9 !@ 10 !@ -- cl_write : for fields to write 11 !@ 12 !@ -- cl_read : for fields to read 13 !@ 14 ! ------------------------------------------------------------------- 15 ! 14 16 INTEGER jpread, jpwrit 15 17 PARAMETER (jpread=0, jpwrit=1) … … 17 19 CHARACTER*6 cl_f_writ(jpmaxfld), cl_f_read(jpmaxfld) 18 20 COMMON / comcpl / cl_writ, cl_read, cl_f_writ, cl_f_read 19 C-------------------------------------------------------------------21 ! ------------------------------------------------------------------- -
LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90
r177 r179 178 178 179 179 ! Local 180 character (len = 20) :: modname = 'interfsurf_hq'180 character (len = 20),save :: modname = 'interfsurf_hq' 181 181 character (len = 80) :: abort_message 182 182 logical, save :: first_call = .true. 183 INTEGER :: error, ii 184 logical :: check = .true. 183 integer, save :: error 184 integer :: ii 185 logical,save :: check = .true. 185 186 real, dimension(klon):: cal, beta, dif_grnd, capsol 186 187 !!$PB real, parameter :: calice=1.0/(5.1444e+06*0.15), tau_gl=86400.*5. … … 687 688 character (len = 20) :: modname = 'interfsol' 688 689 character (len = 80) :: abort_message 689 logical :: check = .true.690 logical,save :: check = .TRUE. 690 691 real, dimension(klon) :: cal, beta, dif_grnd, capsol 691 692 ! type de couplage dans sechiba … … 712 713 real, allocatable, dimension (:,:), save :: lon_scat, lat_scat 713 714 714 logical 715 logical, save :: lrestart_read = .true. , lrestart_write = .true. 715 716 716 717 real, dimension(klon):: qsurf 717 718 real, dimension(klon):: snow, qsol 718 real :: date0 = 0.719 real, save :: date0 = 0. 719 720 real, dimension(knon,2) :: albedo_out 720 721 ! Pb de nomenclature … … 997 998 character (len = 20) :: modname = 'interfoce_cpl' 998 999 character (len = 80) :: abort_message 999 logical :: check = .true.1000 logical,save :: check = .true. 1000 1001 ! variables pour moyenner les variables de couplage 1001 1002 real, allocatable, dimension(:,:),save :: cpl_sols, cpl_nsol, cpl_rain … … 1031 1032 real, dimension(iim, jjm+1) :: deno 1032 1033 integer :: idtime 1033 integer, allocatable, dimension(:,:) :: isst 1034 integer, allocatable,save,dimension(:) :: unity 1034 integer, allocatable,dimension(:),save :: unity 1035 1035 ! 1036 1036 logical, save :: first_appel = .true. 1037 logical :: print 1038 1037 logical,save :: print 1038 !maf 1039 ! variables pour avoir une sortie IOIPSL des champs echanges 1040 CHARACTER*80,SAVE :: clintocplnam, clfromcplnam 1041 INTEGER, SAVE :: jf,nhoridct,nidct 1042 INTEGER, SAVE :: nhoridcs,nidcs 1043 INTEGER :: ndexct(iim*(jjm+1)),ndexcs(iim*(jjm+1)) 1044 REAL :: zx_lon(iim,jjm+1), zx_lat(iim,jjm+1), zjulian 1045 include 'param_cou.h' 1046 include 'inc_cpl.h' 1047 include 'temps.h' 1039 1048 ! 1040 1049 ! Initialisation … … 1098 1107 call inicma(npas , nexca, idtime,(jjm+1)*iim) 1099 1108 1109 ! 1110 ! initialisation sorties netcdf 1111 ! 1112 CALL ymds2ju(anne_ini, 1, 1, 0.0, zjulian) 1113 zjulian = zjulian + day_ini 1114 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon) 1115 DO i = 1, iim 1116 zx_lon(i,1) = rlon(i+1) 1117 zx_lon(i,jjm+1) = rlon(i+1) 1118 ENDDO 1119 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat) 1120 clintocplnam="cpl_atm_tauflx" 1121 CALL histbeg(clintocplnam, iim,zx_lon,jjm+1,zx_lat,1,iim,1,jjm+1, & 1122 & 0,zjulian,dtime,nhoridct,nidct) 1123 ! no vertical axis 1124 CALL histdef(nidct, 'tauxe','tauxe', & 1125 & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 1126 CALL histdef(nidct, 'tauyn','tauyn', & 1127 & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 1128 CALL histdef(nidct, 'tmp_lon','tmp_lon', & 1129 & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 1130 CALL histdef(nidct, 'tmp_lat','tmp_lat', & 1131 & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 1132 DO jf=1,jpflda2o1 + jpflda2o2 1133 CALL histdef(nidct, cl_writ(jf),cl_writ(jf), & 1134 & "-",iim, jjm+1, nhoridct, 1, 1, 1, -99, 32, "inst", dtime,dtime) 1135 END DO 1136 CALL histend(nidct) 1137 CALL histsync(nidct) 1138 1139 clfromcplnam="cpl_atm_sst" 1140 CALL histbeg(clfromcplnam, iim,zx_lon,jjm+1,zx_lat,1,iim,1,jjm+1, & 1141 & 0,zjulian,dtime,nhoridcs,nidcs) 1142 ! no vertical axis 1143 DO jf=1,jpfldo2a 1144 CALL histdef(nidcs, cl_read(jf),cl_read(jf), & 1145 & "-",iim, jjm+1, nhoridcs, 1, 1, 1, -99, 32, "inst", dtime,dtime) 1146 END DO 1147 CALL histend(nidcs) 1148 CALL histsync(nidcs) 1149 1100 1150 first_appel = .false. 1101 1151 endif ! fin if (first_appel) … … 1109 1159 if (nisurf == is_sic) cpl_index = 2 1110 1160 if (cumul) then 1161 if (check) write(*,*) modname, 'cumul des champs' 1111 1162 do ig = 1, knon 1112 if (check) write(*,*) modname, 'cumul des champs'1113 1163 cpl_sols(ig,cpl_index) = cpl_sols(ig,cpl_index) & 1114 1164 & + swdown(ig) / FLOAT(nexca) … … 1141 1191 if (mod(itime, nexca) == 1) then 1142 1192 ! 1143 ! Passage des champs au coupleur1193 ! Demande des champs au coupleur 1144 1194 ! 1145 1195 ! Si le domaine considere est l'ocean, on lit les champs venant du coupleur … … 1149 1199 call fromcpl(itime-1,(jjm+1)*iim, & 1150 1200 & read_sst, read_sic, read_sit, read_alb_sic) 1201 ! 1202 ! sorties NETCDF des champs recus 1203 ! 1204 ndexcs(:)=0 1205 CALL histwrite(nidcs,cl_read(1),itime,read_sst,iim*(jjm+1),ndexcs) 1206 CALL histwrite(nidcs,cl_read(2),itime,read_sic,iim*(jjm+1),ndexcs) 1207 CALL histwrite(nidcs,cl_read(3),itime,read_sit,iim*(jjm+1),ndexcs) 1208 CALL histwrite(nidcs,cl_read(4),itime,read_alb_sic,iim*(jjm+1),ndexcs) 1209 CALL histsync(nidcs) 1210 ! pas utile IF (npas-itime.LT.nexca )CALL histclo(nidcs) 1211 1151 1212 do j = 1, jjm + 1 1152 1213 do ig = 1, iim … … 1182 1243 ! Pour rattraper des erreurs d'arrondis 1183 1244 ! 1184 where (abs(pctsrf_sav(:,is_sic)) .le. epsilon(pctsrf_sav(1,is_sic)))1245 where (abs(pctsrf_sav(:,is_sic)) .le. 2.*epsilon(pctsrf_sav(1,is_sic))) 1185 1246 pctsrf_sav(:,is_sic) = 0. 1186 1247 pctsrf_sav(:,is_oce) = pctsrf(:,is_oce) + pctsrf(:,is_sic) 1187 1248 endwhere 1188 where (abs(pctsrf_sav(:,is_oce)) .le. epsilon(pctsrf_sav(1,is_oce)))1249 where (abs(pctsrf_sav(:,is_oce)) .le. 2.*epsilon(pctsrf_sav(1,is_oce))) 1189 1250 pctsrf_sav(:,is_sic) = pctsrf(:,is_oce) + pctsrf(:,is_sic) 1190 1251 pctsrf_sav(:,is_oce) = 0. … … 1282 1343 ! on passe les coordonnées de la grille 1283 1344 ! 1284 CALL gath2cpl(rlon(1), tmp_lon(1,1), klon, knon,iim,jjm, knindex) 1285 CALL gath2cpl(rlat(1), tmp_lat(1,1), klon, knon,iim,jjm, knindex) 1345 1346 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,tmp_lon) 1347 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,tmp_lat) 1348 1286 1349 DO i = 1, iim 1287 1350 tmp_lon(i,1) = rlon(i+1) … … 1289 1352 ENDDO 1290 1353 ! 1354 ! sortie netcdf des champs pour le changement de repere 1355 ! 1356 ndexct(:)=0 1357 CALL histwrite(nidct,'tauxe',itime,wri_taux,iim*(jjm+1),ndexct) 1358 CALL histwrite(nidct,'tauyn',itime,wri_tauy,iim*(jjm+1),ndexct) 1359 CALL histwrite(nidct,'tmp_lon',itime,tmp_lon,iim*(jjm+1),ndexct) 1360 CALL histwrite(nidct,'tmp_lat',itime,tmp_lat,iim*(jjm+1),ndexct) 1361 1362 ! 1291 1363 ! calcul 3 coordonnées du vent 1292 1364 ! 1293 1365 CALL atm2geo (iim , jjm + 1, wri_taux, wri_tauy, tmp_lon, tmp_lat, & 1294 1366 & wri_tauxx, wri_tauyy, wri_tauzz ) 1367 ! 1368 ! sortie netcdf des champs apres changement de repere et juste avant 1369 ! envoi au coupleur 1370 ! 1371 CALL histwrite(nidct,cl_writ(1),itime,wri_sol_ice,iim*(jjm+1),ndexct) 1372 CALL histwrite(nidct,cl_writ(2),itime,wri_sol_sea,iim*(jjm+1),ndexct) 1373 CALL histwrite(nidct,cl_writ(3),itime,wri_nsol_ice,iim*(jjm+1),ndexct) 1374 CALL histwrite(nidct,cl_writ(4),itime,wri_nsol_sea,iim*(jjm+1),ndexct) 1375 CALL histwrite(nidct,cl_writ(5),itime,wri_fder_ice,iim*(jjm+1),ndexct) 1376 CALL histwrite(nidct,cl_writ(6),itime,wri_evap_ice,iim*(jjm+1),ndexct) 1377 CALL histwrite(nidct,cl_writ(7),itime,wri_evap_sea,iim*(jjm+1),ndexct) 1378 CALL histwrite(nidct,cl_writ(8),itime,wri_rain,iim*(jjm+1),ndexct) 1379 CALL histwrite(nidct,cl_writ(9),itime,wri_snow,iim*(jjm+1),ndexct) 1380 CALL histwrite(nidct,cl_writ(10),itime,wri_rcoa,iim*(jjm+1),ndexct) 1381 CALL histwrite(nidct,cl_writ(11),itime,wri_rriv,iim*(jjm+1),ndexct) 1382 CALL histwrite(nidct,cl_writ(12),itime,wri_tauxx,iim*(jjm+1),ndexct) 1383 CALL histwrite(nidct,cl_writ(13),itime,wri_tauyy,iim*(jjm+1),ndexct) 1384 CALL histwrite(nidct,cl_writ(14),itime,wri_tauzz,iim*(jjm+1),ndexct) 1385 CALL histwrite(nidct,cl_writ(15),itime,wri_tauxx,iim*(jjm+1),ndexct) 1386 CALL histwrite(nidct,cl_writ(16),itime,wri_tauyy,iim*(jjm+1),ndexct) 1387 CALL histwrite(nidct,cl_writ(17),itime,wri_tauzz,iim*(jjm+1),ndexct) 1388 CALL histsync(nidct) 1389 ! pas utile IF (lafin) CALL histclo(nidct) 1295 1390 1296 1391 call intocpl(itime, (jjm+1)*iim, wri_sol_ice, wri_sol_sea, wri_nsol_ice,& … … 1413 1508 character (len = 20) :: modname = 'interfoce_lim' 1414 1509 character (len = 80) :: abort_message 1415 character (len = 20) :: fich ='limit.nc'1416 LOGICAL:: newlmt = .TRUE.1417 logical :: check = .true.1510 character (len = 20),save :: fich ='limit.nc' 1511 logical, save :: newlmt = .TRUE. 1512 logical, save :: check = .true. 1418 1513 ! Champs lus dans le fichier de CL 1419 1514 real, allocatable , save, dimension(:) :: sst_lu, rug_lu, nat_lu … … 1656 1751 character (len = 20) :: modname = 'interfsur_lim' 1657 1752 character (len = 80) :: abort_message 1658 character (len = 20) :: fich ='limit.nc'1659 logical :: newlmt = .false.1660 logical :: check = .true.1753 character (len = 20),save :: fich ='limit.nc' 1754 logical,save :: newlmt = .false. 1755 logical,save :: check = .true. 1661 1756 ! Champs lus dans le fichier de CL 1662 1757 real, allocatable , save, dimension(:) :: alb_lu, rug_lu … … 1665 1760 ! 1666 1761 #include "netcdf.inc" 1667 integer :: nid, nvarid1668 integer, dimension(2) :: start, epais1762 integer ,save :: nid, nvarid 1763 integer, dimension(2),save :: start, epais 1669 1764 ! 1670 1765 ! Fin déclaration … … 1747 1842 ! Recopie des variables dans les champs de sortie 1748 1843 ! 1844 lmt_alb(:) = 0.0 1845 lmt_rug(:) = 0.0 1749 1846 DO ii = 1, knon 1750 1847 lmt_alb(ii) = alb_lu(knindex(ii)) … … 1832 1929 REAL, parameter :: chasno = 3.334E+05/(2.3867E+06*0.15) 1833 1930 ! 1834 logical :: check = .true.1931 logical, save :: check = .true. 1835 1932 character (len = 20) :: modname = 'calcul_fluxs' 1836 logical :: fonte_neige = .false.1837 real :: max_eau_sol = 150.01933 logical, save :: fonte_neige = .false. 1934 real, save :: max_eau_sol = 150.0 1838 1935 character (len = 80) :: abort_message 1839 logical,save :: first = .t .,second=.f.1936 logical,save :: first = .true.,second=.false. 1840 1937 1841 1938 if (check) write(*,*)'Entree ', modname,' surface = ',nisurf … … 2096 2193 integer :: i, ig, j 2097 2194 real, dimension(klon) :: tamp 2098 logical :: check = .false.2195 logical ,save :: check = .false. 2099 2196 2100 2197 ig = 1 -
LMDZ.3.3/branches/rel-LF/libf/phylmd/oasis.true
r177 r179 199 199 CALL CLIM_Define (cl_read(jf), clim_in , clim_double, iparal 200 200 $ , info ) 201 WRITE(nuout,*) 'inicma : clim define done for ',jf 202 $ ,cl_read(jf) 201 203 END DO 202 204 c … … 206 208 CALL CLIM_Define (cl_writ(jf), clim_out , clim_double, 207 209 $ iparal, info ) 210 WRITE(nuout,*) 'inicma : clim define done for ',jf 211 $ ,cl_writ(jf) 208 212 END DO 209 213 c … … 410 414 IF (jf.eq.1) 411 415 $ CALL locwrite(cl_writ(jf),fsolice, imjm, 412 $ file_unit_field(jf), ierror , nuout)416 $ file_unit_field(jf), ierror) 413 417 IF (jf.eq.2) 414 418 $ CALL locwrite(cl_writ(jf),fsolwat, imjm, 415 $ file_unit_field(jf), ierror , nuout)419 $ file_unit_field(jf), ierror) 416 420 IF (jf.eq.3) 417 421 $ CALL locwrite(cl_writ(jf),fnsolice, imjm, 418 $ file_unit_field(jf), ierror , nuout)422 $ file_unit_field(jf), ierror) 419 423 IF (jf.eq.4) 420 424 $ CALL locwrite(cl_writ(jf),fnsolwat, imjm, 421 $ file_unit_field(jf), ierror , nuout)425 $ file_unit_field(jf), ierror) 422 426 IF (jf.eq.5) 423 427 $ CALL locwrite(cl_writ(jf),fnsicedt, imjm, 424 $ file_unit_field(jf), ierror , nuout)428 $ file_unit_field(jf), ierror) 425 429 c IF (jf.eq.6) 426 430 c $ CALL locwrite(cl_writ(jf),ictemp, imjm, 427 c $ file_unit_field(jf), ierror , nuout)431 c $ file_unit_field(jf), ierror) 428 432 IF (jf.eq.6) 429 433 $ CALL locwrite(cl_writ(jf),evice, imjm, 430 $ file_unit_field(jf), ierror , nuout)434 $ file_unit_field(jf), ierror) 431 435 IF (jf.eq.7) 432 436 $ CALL locwrite(cl_writ(jf),evwat, imjm, 433 $ file_unit_field(jf), ierror , nuout)437 $ file_unit_field(jf), ierror) 434 438 IF (jf.eq.8) 435 439 $ CALL locwrite(cl_writ(jf),lpre, imjm, 436 $ file_unit_field(jf), ierror , nuout)440 $ file_unit_field(jf), ierror) 437 441 IF (jf.eq.9) 438 442 $ CALL locwrite(cl_writ(jf),spre, imjm, 439 $ file_unit_field(jf), ierror , nuout)443 $ file_unit_field(jf), ierror) 440 444 IF (jf.eq.10) 441 445 $ CALL locwrite(cl_writ(jf),dirunoff, imjm, 442 $ file_unit_field(jf), ierror , nuout)446 $ file_unit_field(jf), ierror) 443 447 IF (jf.eq.11) 444 448 $ CALL locwrite(cl_writ(jf),rivrunoff, imjm, 445 $ file_unit_field(jf), ierror , nuout)449 $ file_unit_field(jf), ierror) 446 450 c$$$ IF (jf.eq.12) 447 451 c$$$ $ CALL locwrite(cl_writ(jf),tauxu, imjm, 448 c$$$ $ file_unit_field(jf),ierror , nuout)452 c$$$ $ file_unit_field(jf),ierror) 449 453 c$$$ IF (jf.eq.13) 450 454 c$$$ $ CALL locwrite(cl_writ(jf),tauxv, imjm, 451 c$$$ $ file_unit_field(jf),ierror , nuout)455 c$$$ $ file_unit_field(jf),ierror) 452 456 c$$$ IF (jf.eq.14) 453 457 c$$$ $ CALL locwrite(cl_writ(jf),tauyv, imjm, 454 c$$$ $ file_unit_field(jf),ierror , nuout)458 c$$$ $ file_unit_field(jf),ierror) 455 459 c$$$ IF (jf.eq.15) 456 460 c$$$ $ CALL locwrite(cl_writ(jf),tauyu, imjm, 457 c$$$ $ file_unit_field(jf), ierror , nuout)461 c$$$ $ file_unit_field(jf), ierror) 458 462 IF (jf.eq.12) 459 463 $ CALL locwrite(cl_writ(jf),tauxx_u, imjm, -
LMDZ.3.3/branches/rel-LF/libf/phylmd/param_cou.h
r109 r179 1 C$Id$2 C 3 C-- param_cou.h4 C 1 ! $Id$ 2 ! 3 ! -- param_cou.h 4 ! 5 5 INTEGER jpmaxfld 6 6 PARAMETER(jpmaxfld = 40) ! Maximum number of fields exchanged … … 10 10 ! atmosphere to ocean via flx.F 11 11 INTEGER jpflda2o2 12 PARAMETER(jpflda2o2 = 4) ! Number of fields exchanged from12 PARAMETER(jpflda2o2 = 6) ! Number of fields exchanged from 13 13 ! atmosphere to ocean via tau.F 14 C 14 ! 15 15 INTEGER jpfldo2a 16 16 PARAMETER(jpfldo2a = 4) ! Number of fields exchanged from 17 17 ! ocean to atmosphere 18 C 18 ! -
LMDZ.3.3/branches/rel-LF/libf/phylmd/phyredem.F
r177 r179 1 c $Header$ 2 c 1 3 SUBROUTINE phyredem (fichnom,dtime,radpas,co2_ppm,solaire, 2 4 . rlat,rlon, pctsrf,tsol,tsoil,deltat,qsol,snow, … … 100 102 c 101 103 ierr = NF_REDEF (nid) 102 #ifdef NC_DOUBLE103 ierr = NF_DEF_VAR (nid, "controle", NF_DOUBLE, 1, idim1,nvarid)104 #else105 104 ierr = NF_DEF_VAR (nid, "controle", NF_FLOAT, 1, idim1,nvarid) 106 #endif107 105 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 22, 108 106 . "Parametres de controle") … … 115 113 c 116 114 ierr = NF_REDEF (nid) 117 #ifdef NC_DOUBLE118 ierr = NF_DEF_VAR (nid, "longitude", NF_DOUBLE, 1, idim2,nvarid)119 #else120 115 ierr = NF_DEF_VAR (nid, "longitude", NF_FLOAT, 1, idim2,nvarid) 121 #endif122 116 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32, 123 117 . "Longitudes de la grille physique") … … 130 124 c 131 125 ierr = NF_REDEF (nid) 132 #ifdef NC_DOUBLE133 ierr = NF_DEF_VAR (nid, "latitude", NF_DOUBLE, 1, idim2,nvarid)134 #else135 126 ierr = NF_DEF_VAR (nid, "latitude", NF_FLOAT, 1, idim2,nvarid) 136 #endif137 127 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 31, 138 128 . "Latitudes de la grille physique") … … 147 137 C 148 138 ierr = NF_REDEF (nid) 149 #ifdef NC_DOUBLE150 ierr = NF_DEF_VAR (nid, "masque", NF_DOUBLE, 1, idim2,nvarid)151 #else152 139 ierr = NF_DEF_VAR (nid, "masque", NF_FLOAT, 1, idim2,nvarid) 153 #endif154 140 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 16, 155 141 . "masque terre mer") … … 165 151 C 166 152 ierr = NF_REDEF (nid) 167 #ifdef NC_DOUBLE168 ierr = NF_DEF_VAR (nid, "FTER", NF_DOUBLE, 1, idim2,nvarid)169 #else170 153 ierr = NF_DEF_VAR (nid, "FTER", NF_FLOAT, 1, idim2,nvarid) 171 #endif172 154 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21, 173 155 . "fraction de continent") … … 182 164 C 183 165 ierr = NF_REDEF (nid) 184 #ifdef NC_DOUBLE185 ierr = NF_DEF_VAR (nid, "FLIC", NF_DOUBLE, 1, idim2,nvarid)186 #else187 166 ierr = NF_DEF_VAR (nid, "FLIC", NF_FLOAT, 1, idim2,nvarid) 188 #endif189 167 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 24, 190 168 . "fraction glace de terre") … … 199 177 C 200 178 ierr = NF_REDEF (nid) 201 #ifdef NC_DOUBLE202 ierr = NF_DEF_VAR (nid, "FOCE", NF_DOUBLE, 1, idim2,nvarid)203 #else204 179 ierr = NF_DEF_VAR (nid, "FOCE", NF_FLOAT, 1, idim2,nvarid) 205 #endif206 180 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14, 207 181 . "fraction ocean") … … 216 190 C 217 191 ierr = NF_REDEF (nid) 218 #ifdef NC_DOUBLE219 ierr = NF_DEF_VAR (nid, "FSIC", NF_DOUBLE, 1, idim2,nvarid)220 #else221 192 ierr = NF_DEF_VAR (nid, "FSIC", NF_FLOAT, 1, idim2,nvarid) 222 #endif223 193 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 18, 224 194 . "fraction glace mer") … … 236 206 WRITE(str2,'(i2.2)') nsrf 237 207 ierr = NF_REDEF (nid) 238 #ifdef NC_DOUBLE239 ierr = NF_DEF_VAR (nid, "TS"//str2, NF_DOUBLE, 1, idim2,nvarid)240 #else241 208 ierr = NF_DEF_VAR (nid, "TS"//str2, NF_FLOAT, 1, idim2,nvarid) 242 #endif243 209 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28, 244 210 . "Temperature de surface No."//str2) … … 260 226 WRITE(str7,'(i2.2,"srf",i2.2)') isoil,nsrf 261 227 ierr = NF_REDEF (nid) 262 #ifdef NC_DOUBLE263 ierr = NF_DEF_VAR (nid, "Tsoil"//str7,NF_DOUBLE,1,idim2,nvarid)264 #else265 228 ierr = NF_DEF_VAR (nid, "Tsoil"//str7,NF_FLOAT,1,idim2,nvarid) 266 #endif267 229 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 29, 268 230 . "Temperature du sol No."//str7) … … 282 244 c 283 245 ierr = NF_REDEF (nid) 284 #ifdef NC_DOUBLE285 ierr = NF_DEF_VAR (nid, "DELTAT", NF_DOUBLE, 1, idim2,nvarid)286 #else287 246 ierr = NF_DEF_VAR (nid, "DELTAT", NF_FLOAT, 1, idim2,nvarid) 288 #endif289 247 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 33, 290 248 . "Ecart de la SST (pour slab-ocean)") … … 300 258 WRITE(str2,'(i2.2)') nsrf 301 259 ierr = NF_REDEF (nid) 302 #ifdef NC_DOUBLE303 ierr = NF_DEF_VAR (nid,"QS"//str2,NF_DOUBLE,1,idim2,nvarid)304 #else305 260 ierr = NF_DEF_VAR (nid,"QS"//str2,NF_FLOAT,1,idim2,nvarid) 306 #endif307 261 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 25, 308 262 . "Humidite de surface No."//str2) … … 323 277 WRITE(str2,'(i2.2)') nsrf 324 278 ierr = NF_REDEF (nid) 325 #ifdef NC_DOUBLE326 ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_DOUBLE,1,idim2,nvarid)327 #else328 279 ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_FLOAT,1,idim2,nvarid) 329 #endif330 280 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23, 331 281 . "albedo de surface No."//str2) … … 346 296 WRITE(str2,'(i2.2)') nsrf 347 297 ierr = NF_REDEF (nid) 348 #ifdef NC_DOUBLE349 ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_DOUBLE,1,idim2,nvarid)350 #else351 298 ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_FLOAT,1,idim2,nvarid) 352 #endif353 299 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28, 354 300 . "Evaporation de surface No."//str2) … … 370 316 WRITE(str2,'(i2.2)') nsrf 371 317 ierr = NF_REDEF (nid) 372 #ifdef NC_DOUBLE373 ierr = NF_DEF_VAR (nid,"SNOW"//str2,NF_DOUBLE,1,idim2,nvarid)374 #else375 318 ierr = NF_DEF_VAR (nid,"SNOW"//str2,NF_FLOAT,1,idim2,nvarid) 376 #endif377 319 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 22, 378 320 . "Neige de surface No."//str2) … … 391 333 c 392 334 ierr = NF_REDEF (nid) 393 #ifdef NC_DOUBLE394 ierr = NF_DEF_VAR (nid, "RADS", NF_DOUBLE, 1, idim2,nvarid)395 #else396 335 ierr = NF_DEF_VAR (nid, "RADS", NF_FLOAT, 1, idim2,nvarid) 397 #endif398 336 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28, 399 337 . "Rayonnement net a la surface") … … 406 344 c 407 345 ierr = NF_REDEF (nid) 408 #ifdef NC_DOUBLE409 ierr = NF_DEF_VAR (nid, "solsw", NF_DOUBLE, 1, idim2,nvarid)410 #else411 346 ierr = NF_DEF_VAR (nid, "solsw", NF_FLOAT, 1, idim2,nvarid) 412 #endif413 347 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32, 414 348 . "Rayonnement solaire a la surface") … … 421 355 c 422 356 ierr = NF_REDEF (nid) 423 #ifdef NC_DOUBLE424 ierr = NF_DEF_VAR (nid, "sollw", NF_DOUBLE, 1, idim2,nvarid)425 #else426 357 ierr = NF_DEF_VAR (nid, "sollw", NF_FLOAT, 1, idim2,nvarid) 427 #endif428 358 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 27, 429 359 . "Rayonnement IF a la surface") … … 436 366 c 437 367 ierr = NF_REDEF (nid) 438 #ifdef NC_DOUBLE439 ierr = NF_DEF_VAR (nid, "fder", NF_DOUBLE, 1, idim2,nvarid)440 #else441 368 ierr = NF_DEF_VAR (nid, "fder", NF_FLOAT, 1, idim2,nvarid) 442 #endif443 369 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14, 444 370 . "Derive de flux") … … 451 377 c 452 378 ierr = NF_REDEF (nid) 453 #ifdef NC_DOUBLE454 ierr = NF_DEF_VAR (nid, "rain_f", NF_DOUBLE, 1, idim2,nvarid)455 #else456 379 ierr = NF_DEF_VAR (nid, "rain_f", NF_FLOAT, 1, idim2,nvarid) 457 #endif458 380 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21, 459 381 . "precipitation liquide") … … 466 388 c 467 389 ierr = NF_REDEF (nid) 468 #ifdef NC_DOUBLE469 ierr = NF_DEF_VAR (nid, "snow_f", NF_DOUBLE, 1, idim2,nvarid)470 #else471 390 ierr = NF_DEF_VAR (nid, "snow_f", NF_FLOAT, 1, idim2,nvarid) 472 #endif473 391 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 20, 474 392 . "precipitation solide") … … 484 402 WRITE(str2,'(i2.2)') nsrf 485 403 ierr = NF_REDEF (nid) 486 #ifdef NC_DOUBLE487 ierr = NF_DEF_VAR (nid,"RUG"//str2,NF_DOUBLE,1,idim2,nvarid)488 #else489 404 ierr = NF_DEF_VAR (nid,"RUG"//str2,NF_FLOAT,1,idim2,nvarid) 490 #endif491 405 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23, 492 406 . "rugosite de surface No."//str2) … … 504 418 c 505 419 ierr = NF_REDEF (nid) 506 #ifdef NC_DOUBLE507 ierr = NF_DEF_VAR (nid, "AGESNO", NF_DOUBLE, 1, idim2,nvarid)508 #else509 420 ierr = NF_DEF_VAR (nid, "AGESNO", NF_FLOAT, 1, idim2,nvarid) 510 #endif511 421 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15, 512 422 . "Age de la neige") … … 519 429 c 520 430 ierr = NF_REDEF (nid) 521 #ifdef NC_DOUBLE522 ierr = NF_DEF_VAR (nid, "ZMEA", NF_DOUBLE, 1, idim2,nvarid)523 #else524 431 ierr = NF_DEF_VAR (nid, "ZMEA", NF_FLOAT, 1, idim2,nvarid) 525 #endif526 432 ierr = NF_ENDDEF(nid) 527 433 #ifdef NC_DOUBLE … … 532 438 c 533 439 ierr = NF_REDEF (nid) 534 #ifdef NC_DOUBLE535 ierr = NF_DEF_VAR (nid, "ZSTD", NF_DOUBLE, 1, idim2,nvarid)536 #else537 440 ierr = NF_DEF_VAR (nid, "ZSTD", NF_FLOAT, 1, idim2,nvarid) 538 #endif539 441 ierr = NF_ENDDEF(nid) 540 442 #ifdef NC_DOUBLE … … 545 447 c 546 448 ierr = NF_REDEF (nid) 547 #ifdef NC_DOUBLE548 ierr = NF_DEF_VAR (nid, "ZSIG", NF_DOUBLE, 1, idim2,nvarid)549 #else550 449 ierr = NF_DEF_VAR (nid, "ZSIG", NF_FLOAT, 1, idim2,nvarid) 551 #endif552 450 ierr = NF_ENDDEF(nid) 553 451 #ifdef NC_DOUBLE … … 558 456 c 559 457 ierr = NF_REDEF (nid) 560 #ifdef NC_DOUBLE561 ierr = NF_DEF_VAR (nid, "ZGAM", NF_DOUBLE, 1, idim2,nvarid)562 #else563 458 ierr = NF_DEF_VAR (nid, "ZGAM", NF_FLOAT, 1, idim2,nvarid) 564 #endif565 459 ierr = NF_ENDDEF(nid) 566 460 #ifdef NC_DOUBLE … … 571 465 c 572 466 ierr = NF_REDEF (nid) 573 #ifdef NC_DOUBLE574 ierr = NF_DEF_VAR (nid, "ZTHE", NF_DOUBLE, 1, idim2,nvarid)575 #else576 467 ierr = NF_DEF_VAR (nid, "ZTHE", NF_FLOAT, 1, idim2,nvarid) 577 #endif578 468 ierr = NF_ENDDEF(nid) 579 469 #ifdef NC_DOUBLE … … 584 474 c 585 475 ierr = NF_REDEF (nid) 586 #ifdef NC_DOUBLE587 ierr = NF_DEF_VAR (nid, "ZPIC", NF_DOUBLE, 1, idim2,nvarid)588 #else589 476 ierr = NF_DEF_VAR (nid, "ZPIC", NF_FLOAT, 1, idim2,nvarid) 590 #endif591 477 ierr = NF_ENDDEF(nid) 592 478 #ifdef NC_DOUBLE … … 597 483 c 598 484 ierr = NF_REDEF (nid) 599 #ifdef NC_DOUBLE600 ierr = NF_DEF_VAR (nid, "ZVAL", NF_DOUBLE, 1, idim2,nvarid)601 #else602 485 ierr = NF_DEF_VAR (nid, "ZVAL", NF_FLOAT, 1, idim2,nvarid) 603 #endif604 486 ierr = NF_ENDDEF(nid) 605 487 #ifdef NC_DOUBLE … … 610 492 c 611 493 ierr = NF_REDEF (nid) 612 #ifdef NC_DOUBLE613 ierr = NF_DEF_VAR (nid, "RUGSREL", NF_DOUBLE, 1, idim2,nvarid)614 #else615 494 ierr = NF_DEF_VAR (nid, "RUGSREL", NF_FLOAT, 1, idim2,nvarid) 616 #endif617 495 ierr = NF_ENDDEF(nid) 618 496 #ifdef NC_DOUBLE … … 623 501 c 624 502 ierr = NF_REDEF (nid) 625 #ifdef NC_DOUBLE626 ierr = NF_DEF_VAR (nid, "TANCIEN", NF_DOUBLE, 1, idim3,nvarid)627 #else628 503 ierr = NF_DEF_VAR (nid, "TANCIEN", NF_FLOAT, 1, idim3,nvarid) 629 #endif630 504 ierr = NF_ENDDEF(nid) 631 505 #ifdef NC_DOUBLE … … 636 510 c 637 511 ierr = NF_REDEF (nid) 638 #ifdef NC_DOUBLE639 ierr = NF_DEF_VAR (nid, "QANCIEN", NF_DOUBLE, 1, idim3,nvarid)640 #else641 512 ierr = NF_DEF_VAR (nid, "QANCIEN", NF_FLOAT, 1, idim3,nvarid) 642 #endif643 513 ierr = NF_ENDDEF(nid) 644 514 #ifdef NC_DOUBLE … … 649 519 c 650 520 ierr = NF_REDEF (nid) 651 #ifdef NC_DOUBLE652 ierr = NF_DEF_VAR (nid, "RUGMER", NF_DOUBLE, 1, idim2,nvarid)653 #else654 521 ierr = NF_DEF_VAR (nid, "RUGMER", NF_FLOAT, 1, idim2,nvarid) 655 #endif656 522 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28, 657 523 . "Longueur de rugosite sur mer") -
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r178 r179 1 c 2 c $Header$ 3 c 1 4 SUBROUTINE physiq (nlon,nlev,nqmax , 2 5 . debut,lafin,rjourvrai,rjour_ecri,gmtime,pdtphys, … … 71 74 c Parametres lies au coupleur OASIS: 72 75 #include "oasis.h" 73 INTEGER npas, nexca76 INTEGER,SAVE :: npas, nexca 74 77 logical rnpb 75 78 parameter(rnpb=.true.) -
LMDZ.3.3/branches/rel-LF/makegcm
r177 r179 29 29 setenv LIBOGCM "`pwd`/lib" 30 30 setenv IOIPSLDIR $LIBOGCM 31 setenv MODIPSLDIR $LIBOGCM 31 32 cd $localdir 32 33 if ( `hostname` == rhodes ) then … … 41 42 endif 42 43 endif 43 \cp libf/phylmd/oasis.F libf/phylmd/oasis.dummy 44 \cp libf/phylmd/oasis.true libf/phylmd/oasis.F 44 # si modipsl c'est couple??? et LMDZ+SECHIBA alors 45 \cp -p libf/phylmd/oasis.F libf/phylmd/oasis.dummy 46 \cp -p libf/phylmd/oasis.true libf/phylmd/oasis.F 45 47 else 46 48 if ( ! $?LMDGCM ) then … … 56 58 echo for instance: "setenv IOIPSLDIR /usr/myself/ioipsl" in .cshrc 57 59 exit 60 else 61 setenv MODIPSLDIR $IOIPSLDIR 58 62 endif 59 63 if ( ! $?NCDFLIB ) then … … 172 176 set optim90=" -fast -fixed " 173 177 set optimtru90=" -fast -free " 174 set opt_link="-lf77compat -L$ modipsl/lib -lsechiba -lparameters -lstomate -L$IOIPSLDIR-lioipsl -L$NCDFLIB -lnetcdf "178 set opt_link="-lf77compat -L$MODIPSLDIR -lsechiba -lparameters -lstomate -lioipsl -L$NCDFLIB -lnetcdf " 175 179 set mod_loc_dir=$localdir 176 180 set mod_suffix=mod … … 187 191 set optim90="$optim $optimbis -X9 -w" 188 192 if $COUPLE then 189 set opt_link="-Wg,-c $ IOIPSLDIR/liboasis2.4_mpi2.a /usr/lang/mpi2/lib64/libmpi.a /usr/lang/mpi2/lib64/libmp.a /usr/local/lib/lib64/libnetcdf_cc.a -L$IOIPSLDIR -lioipsl"193 set opt_link="-Wg,-c $MODIPSLDIR/liboasis2.4_mpi2.a /usr/lang/mpi2/lib64/libmpi.a /usr/lang/mpi2/lib64/libmp.a /usr/local/lib/lib64/libnetcdf_cc.a -L$MODIPSLDIR -lioipsl" 190 194 set oplink="-Wl,-t,-P,-dy " 191 195 else 192 set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc.a -L$ IOIPSLDIR -lioipsl"196 set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc.a -L$MODIPSLDIR -lioipsl" 193 197 set oplink="-Wl,-t,-dy " 194 198 endif 195 set mod_loc_dir=$ IOIPSLDIR199 set mod_loc_dir=$MODIPSLDIR 196 200 set mod_suffix=mod 197 201 else if $DEC then … … 201 205 set optim="-fast " 202 206 set optim90=" -fast " 203 set optimtru90=" -fast -c -Mfree -module $ IOIPSLDIR "204 set opt_link=" -Mfree -L /usr/local/pgi/linux86/lib -lpgf90 -lpgftnrtl -lpghpf -lpghpf2 -L$ modipsl/lib -lsechiba -lparameters -lstomate -L$NCDFLIB -lnetcdf -L$IOIPSLDIR-lioipsl -Wl,-Bstatic -L/usr/lib/gcc-lib/i386-linux/2.95.2/"205 set mod_loc_dir=$ IOIPSLDIR207 set optimtru90=" -fast -c -Mfree -module $MODIPSLDIR " 208 set opt_link=" -Mfree -L /usr/local/pgi/linux86/lib -lpgf90 -lpgftnrtl -lpghpf -lpghpf2 -L$MODIPSLDIR -lsechiba -lparameters -lstomate -L$NCDFLIB -lnetcdf -lioipsl -Wl,-Bstatic -L/usr/lib/gcc-lib/i386-linux/2.95.2/" 209 set mod_loc_dir=$MODIPSLDIR 206 210 set mod_suffix=mod 207 211 else if $NEC then … … 210 214 set optim="$optim90" 211 215 set optimbis=" " 212 set opt_link=" -C hopt -float0 -ew -P stack -L$ IOIPSLDIR -lioipsl -L/u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v "216 set opt_link=" -C hopt -float0 -ew -P stack -L$MODIPSLDIR -lioipsl -L/u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v " 213 217 set mod_loc_dir="." 214 218 set mod_suffix="mod" … … 225 229 if $MODIPSL then 226 230 if $COUPLE then 227 set opt_link="-L$ IOIPSLDIR -lsxioipsl -loasis2.4_mpi2 -Wl,-f nan, -float0 -ew -P stack -I$NCDFINC $NCDFLIB "228 set opt_link="-L$ IOIPSLDIR-lsxioipsl -loasis2.4_mpi2 -float0 -ew -P stack -I$NCDFINC $NCDFLIB "231 set opt_link="-L$MODIPSLDIR -lsxioipsl -loasis2.4_mpi2 -Wl,-f nan, -float0 -ew -P stack -I$NCDFINC $NCDFLIB " 232 set opt_link="-L$MODIPSLDIR -lsxsechiba -lsxparameters -lsxstomate -lsxioipsl -loasis2.4_mpi2 -float0 -ew -P stack -I$NCDFINC $NCDFLIB " 229 233 # set opt_link="-L$IOIPSLDIR -lsxioipsl -loasis2.4_mpi2 -float0 -ew -eC -P stack -I$NCDFINC $NCDFLIB " 230 234 else 231 set opt_link="-L$ IOIPSLDIR -lsxioipsl -float0 -ew -P stack -I$NCDFINC $NCDFLIB "235 set opt_link="-L$MODIPSLDIR -lsxioipsl -float0 -ew -P stack -I$NCDFINC $NCDFLIB " 232 236 endif 233 237 set mod_loc_dir="./" 234 238 else 235 set opt_link=" -C hopt -float0 -ew -P stack -L$ IOIPSLDIR -lioipsl -L /u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v -I$NCDFINC "239 set opt_link=" -C hopt -float0 -ew -P stack -L$MODIPSLDIR -lioipsl -L /u/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v -I$NCDFINC " 236 240 set mod_loc_dir="." 237 241 endif … … 719 723 \cp $IOIPSLDIR/*.mod $libo 720 724 else if $SUN then 721 set optim90=" $optim90 -M$libo -M$ modipsl/lib"722 set optimtru90=" $optimtru90 -M$libo -M$ modipsl/lib"725 set optim90=" $optim90 -M$libo -M$MODIPSLDIR " 726 set optimtru90=" $optimtru90 -M$libo -M$MODIPSLDIR " 723 727 set optim="$optim90" 724 728 \cp $IOIPSLDIR/*.mod $libo … … 797 801 \rm $libf/grid/dimensions.h 798 802 if $MODIPSL then 799 \cp libf/phylmd/oasis.F libf/phylmd/oasis.true800 \cp libf/phylmd/oasis.dummy libf/phylmd/oasis.F801 endif 803 \cp -p libf/phylmd/oasis.F libf/phylmd/oasis.true 804 \cp -p libf/phylmd/oasis.dummy libf/phylmd/oasis.F 805 endif
Note: See TracChangeset
for help on using the changeset viewer.