Changeset 223 for LMDZ.3.3/branches/rel-LF
- Timestamp:
- Jun 6, 2001, 4:27:20 PM (24 years ago)
- Location:
- LMDZ.3.3/branches/rel-LF/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/clmain.F
r205 r223 28 28 cAA il faudra sortir ces memes champs en leur ajoutant une dimension, 29 29 cAA c'est a dire nbsrf (nbre de subsurface). 30 30 USE ioipsl 31 USE interface_surf 31 32 IMPLICIT none 32 33 c====================================================================== … … 174 175 REAL zx_alf1, zx_alf2 !valeur ambiante par extrapola. 175 176 c====================================================================== 176 177 c 178 c maf pour sorties IOISPL en cas de debugagage 179 c 180 CHARACTER*80 cldebug 181 SAVE cldebug 182 CHARACTER*8 cl_surf(nbsrf) 183 SAVE cl_surf 184 INTEGER nhoridbg, nidbg 185 SAVE nhoridbg, nidbg 186 INTEGER ndexbg(iim*(jjm+1)) 187 REAL zx_lon(iim,jjm+1), zx_lat(iim,jjm+1), zjulian 188 REAL tabindx(klon) 189 REAL debugtab(iim,jjm+1) 190 LOGICAL first_appel 191 SAVE first_appel 192 DATA first_appel/.true./ 193 LOGICAL debugindex 194 SAVE debugindex 195 DATA debugindex/.true./ 196 #include "temps.h" 197 198 IF (first_appel) THEN 199 first_appel=.false. 200 ! 201 ! initialisation sorties netcdf 202 ! 203 CALL ymds2ju(anne_ini, 1, 1, 0.0, zjulian) 204 zjulian = zjulian + day_ini 205 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon) 206 DO i = 1, iim 207 zx_lon(i,1) = rlon(i+1) 208 zx_lon(i,jjm+1) = rlon(i+1) 209 ENDDO 210 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat) 211 cldebug='sous_index' 212 CALL histbeg(cldebug, iim,zx_lon,jjm+1,zx_lat,1,iim,1,jjm 213 $ +1, 0,zjulian,dtime,nhoridbg,nidbg) 214 ! no vertical axis 215 cl_surf(1)='ter' 216 cl_surf(2)='lic' 217 cl_surf(3)='oce' 218 cl_surf(4)='sic' 219 DO nsrf=1,nbsrf 220 CALL histdef(nidbg, cl_surf(nsrf),cl_surf(nsrf), "-",iim, 221 $ jjm+1,nhoridbg, 1, 1, 1, -99, 32, "inst", dtime,dtime) 222 END DO 223 CALL histend(nidbg) 224 CALL histsync(nidbg) 225 ENDIF 226 177 227 DO k = 1, klev ! epaisseur de couche 178 228 DO i = 1, klon … … 294 344 c 295 345 write(*,*)'CLMAIN, nsrf, knon =',nsrf, knon 346 c 347 c variables pour avoir une sortie IOIPSL des INDEX 348 c 349 IF (debugindex) THEN 350 tabindx(:)=0. 351 c tabindx(1:knon)=(/FLOAT(i),i=1:knon/) 352 DO i=1,knon 353 tabindx(1:knon)=FLOAT(i) 354 END DO 355 debugtab(:,:)=0. 356 ndexbg(:)=0 357 CALL gath2cpl(tabindx,debugtab,klon,knon,iim,jjm,ni) 358 CALL histwrite(nidbg,cl_surf(nsrf),itap,debugtab,iim*(jjm+1) 359 $ ,ndexbg) 360 ENDIF 296 361 IF (knon.EQ.0) GOTO 99999 297 362 DO j = 1, knon -
LMDZ.3.3/branches/rel-LF/libf/phylmd/conf_phys.F90
r222 r223 22 22 23 23 use IOIPSL 24 24 implicit none 25 25 ! 26 26 ! ocean: type d'ocean (force, slab, couple) … … 36 36 logical :: ok_veget 37 37 logical :: ok_journe, ok_mensuel, ok_instan 38 ! Local 39 integer :: numout = 6 38 40 39 41 ! … … 89 91 ! 90 92 91 write(numout,*)' Config ocean = ', ocean 92 write(numout,*)' Config veget = ', ok_veget 93 write(numout,*)' Sortie journaliere = ', ok_journe 94 write(numout,*)' Sortie mensuelle = ', ok_mensuel 95 write(numout,*)' Sortie instantanee = ', ok_instan 93 write(numout,*)' ##############################################' 94 write(numout,*)' Configuration des parametres de la physique: ' 95 write(numout,*)' Config ocean = ', ocean 96 write(numout,*)' Config veget = ', ok_veget 97 write(numout,*)' Sortie journaliere = ', ok_journe 98 write(numout,*)' Sortie mensuelle = ', ok_mensuel 99 write(numout,*)' Sortie instantanee = ', ok_instan 96 100 97 101 -
LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90
r205 r223 1 ! $Header 1 ! $Header$ 2 2 3 3 MODULE interface_surf … … 26 26 27 27 PRIVATE 28 PUBLIC :: interfsurf,interfsurf_hq 28 PUBLIC :: interfsurf,interfsurf_hq,gath2cpl 29 29 30 30 INTERFACE interfsurf … … 197 197 real, DIMENSION(klon):: zfra 198 198 logical :: cumul = .false. 199 logical 199 logical,save :: scatter = .false. 200 200 201 201 if (check) write(*,*) 'Entree ', modname … … 345 345 ! appel a sechiba 346 346 ! 347 scatter= .true. 347 scatter = .true. 348 call getin('SCATTER',scatter) 348 349 if (.not. scatter) then 349 350 call interfsol(itime, klon, dtime, date0, nisurf, knon, & … … 753 754 real, allocatable, dimension (:,:), save :: lon_scat, lat_scat 754 755 755 logical, save :: lrestart_read = .true. , lrestart_write = .true.756 logical, save :: lrestart_read = .true. , lrestart_write = .false. 756 757 757 758 real, dimension(klon):: qsurf … … 928 929 ! Appel a la routine sols continentaux 929 930 ! 931 if (lafin) lrestart_write = .true. 932 if (check) write(*,*)'lafin ',lafin,lrestart_write 930 933 931 934 petA_orc = petBcoef * dtime … … 960 963 961 964 alb_new(:) = albedo_out(:,1) 965 966 ! LF essai sensible 967 fluxsens = -1. * fluxsens 968 fluxlat = -1. * fluxlat 969 970 if (debut) lrestart_read = .false. 962 971 963 972 END SUBROUTINE interfsol … … 2642 2651 & * p1lay(i)/(RD*t1lay(i)) 2643 2652 ENDDO 2653 2654 2644 2655 ! === Calcul de la temperature de surface === 2645 2656 ! -
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r205 r223 81 81 EXTERNAL fromcpl, intocpl, inicma 82 82 c ocean = type de modele ocean a utiliser: force, slab, couple 83 character *6 ocean 84 parameter (ocean = 'force ') 83 character*6 ocean 84 SAVE ocean 85 86 c parameter (ocean = 'force ') 85 87 c parameter (ocean = 'couple') 86 88 logical ok_ocean … … 94 96 ccc PARAMETER (soil_model=.FALSE.) 95 97 logical ok_veget 96 parameter (ok_veget = .true.) 98 save ok_veget 99 c parameter (ok_veget = .true.) 97 100 c parameter (ok_veget = .false.) 98 101 c====================================================================== … … 112 115 c====================================================================== 113 116 LOGICAL ok_journe ! sortir le fichier journalier 114 PARAMETER (ok_journe=.true.) 117 save ok_journe 118 c PARAMETER (ok_journe=.true.) 115 119 c 116 120 LOGICAL ok_mensuel ! sortir le fichier mensuel 117 PARAMETER (ok_mensuel=.true.) 121 save ok_mensuel 122 c PARAMETER (ok_mensuel=.true.) 118 123 c 119 124 LOGICAL ok_instan ! sortir le fichier instantane 120 PARAMETER (ok_instan=.false.) 125 save ok_instan 126 c PARAMETER (ok_instan=.true.) 121 127 c 122 128 LOGICAL ok_region ! sortir le fichier regional … … 527 533 IF (debut) THEN 528 534 535 c 536 c appel a la lecture du run.def physique 537 c 538 call conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, 539 . ok_instan) 540 529 541 DO k = 2, nvm ! pas de vegetation 530 542 DO i = 1, klon … … 786 798 C 787 799 call histdef(nid_day, "albe_"//clnsurf(nsrf), 788 $ " Latent heat flux"//clnsurf(nsrf), "W/m2",800 $ "Albedo surf. "//clnsurf(nsrf), "W/m2", 789 801 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 790 802 $ "ave(X)", zsto,zout) … … 1023 1035 c 1024 1036 call histdef(nid_mth, "albe_"//clnsurf(nsrf), 1025 $ " Latent heat flux"//clnsurf(nsrf), "W/m2",1037 $ "Albedo surf. "//clnsurf(nsrf), "W/m2", 1026 1038 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1027 1039 $ "ave(X)", zsto,zout) … … 1371 1383 c 1372 1384 call histdef(nid_ins, "albe_"//clnsurf(nsrf), 1373 $ "Albedo "//clnsurf(nsrf), "-",1385 $ "Albedo surf. "//clnsurf(nsrf), "-", 1374 1386 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1375 1387 $ "inst(X)", zsto,zout)
Note: See TracChangeset
for help on using the changeset viewer.