Changeset 271 for LMDZ.3.3


Ignore:
Timestamp:
Sep 5, 2001, 6:09:36 PM (23 years ago)
Author:
lmdzadmin
Message:

Passage progressif a writephys
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F

    r263 r271  
    1010      USE ioipsl
    1111      USE histcom
     12      USE writephys
    1213
    1314      IMPLICIT none
     
    576577      real date0
    577578
     579C essai writephys
     580      integer fid_day, fid_mth, fid_ins
     581      parameter (fid_ins = 1, fid_day = 2, fid_mth = 3)
     582      integer prof2d_on, prof3d_on, prof2d_av, prof3d_av
     583      parameter (prof2d_on = 1, prof3d_on = 2,
     584     .           prof2d_av = 3, prof3d_av = 4)
     585      character*30 nom_fichier
     586      character*10 varname
     587      character*40 vartitle
     588      character*20 varunits
    578589c
    579590c Declaration des constantes et des fonctions thermodynamiques
     
    758769         zsto = dtime
    759770         zout = dtime * FLOAT(ecrit_day)
     771C Essai writephys
     772         nom_fichier = 'histday1'
     773         call writephy_ini(fid_day,nom_fichier,klon,iim,jjmp1,klev,
     774     .                     rlon,rlat, presnivs,
     775     .                     zjulian, dtime)
     776         call writephy_def(prof2d_on, fid_day, "once", zsto, zout, 0)
     777         call writephy_def(prof3d_on, fid_day, "once", zsto, zout,
     778     .                                                         klev)
     779         call writephy_def(prof2d_av, fid_day, "ave(X)", zsto, zout, 0)
     780         call writephy_def(prof3d_av, fid_day, "ave(X)", zsto, zout,
     781     .                                                         klev)
     782 
    760783c
    761784         CALL histdef(nid_day, "phis", "Surface geop. height", "-",
     
    23482371         CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    23492372         CALL histwrite(nid_day,"phis",i,zx_tmp_2d,iim*jjmp1,ndex2d)
     2373         varname = 'phis'
     2374         vartitle= 'Surface geop. height'
     2375         varunits= '-'
     2376         call writephy(fid_day,prof2d_on,varname,pphis,vartitle,
     2377     .                                                    varunits)
    23502378c
    23512379         i = NINT(zout/zsto)
    23522380         CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
    23532381         CALL histwrite(nid_day,"aire",i,zx_tmp_2d,iim*jjmp1,ndex2d)
     2382         varname = 'aire'
     2383         vartitle= 'Grid area'
     2384         varunits= '-'
     2385         call writephy(fid_day,prof2d_on,varname,paire,vartitle,
     2386     .                                                    varunits)
    23542387C
    23552388      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    23562389      CALL histwrite(nid_day,"tsol",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2390      call writephy(fid_day,prof2d_av,'tsol',zxtsol,
     2391     .              'Surface Temperature','K')
    23572392c
    23582393C
     
    23602395      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d)
    23612396      CALL histwrite(nid_day,"tter",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2397      call writephy(fid_day,prof2d_av,'tter',ftsol(1 : klon, is_ter),
     2398     .              'Surface Temperature','K')
    23622399C
    23632400      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic)
    23642401      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    23652402      CALL histwrite(nid_day,"tlic",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2403      call writephy(fid_day,prof2d_av,'tlic',ftsol(1 : klon, is_lic),
     2404     .              'Surface Temperature','K')
    23662405C
    23672406      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce)
    23682407      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    23692408      CALL histwrite(nid_day,"toce",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2409      call writephy(fid_day,prof2d_av,'toce',ftsol(1 : klon, is_oce),
     2410     .              'Surface Temperature','K')
    23702411C
    23712412      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic)
    23722413      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    23732414      CALL histwrite(nid_day,"tsic",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2415      call writephy(fid_day,prof2d_av,'tsic',ftsol(1 : klon, is_sic),
     2416     .              'Surface Temperature','K')
    23742417C
    23752418      DO i = 1, klon
     
    23782421      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    23792422      CALL histwrite(nid_day,"psol",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
    2380 c
    2381       DO i = 1, klon
    2382          zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
     2423c Essai writephys
     2424      varname = 'psol'
     2425      vartitle= 'pression au sol'
     2426      varunits= 'hPa'
     2427      call writephy(fid_day,prof2d_av,varname,zx_tmp_fi2d,vartitle,
     2428     .                                                    varunits)
     2429c
     2430      DO i = 1, klon
     2431         zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i))* 86400.
    23832432      ENDDO
    23842433      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    23852434      CALL histwrite(nid_day,"rain",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2435      call writephy(fid_day,prof2d_av,'rain',zx_tmp_fi2d,
     2436     .              'Precipitation','mm/day')
     2437
     2438
    23862439c
    23872440      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
    23882441      CALL histwrite(nid_day,"snow",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2442      call writephy(fid_day,prof2d_av,'snow',snow_fall,
     2443     .              'Snow','mm/day')
    23892444c
    23902445      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
    23912446      CALL histwrite(nid_day,"snow_cov",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2447      call writephy(fid_day,prof2d_av,'snow_cov',zxsnow,
     2448     .              'Snow cover','mm')
    23922449c
    23932450      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
    23942451      CALL histwrite(nid_day,"evap",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2452      call writephy(fid_day,prof2d_av,'evap',evap,
     2453     .              'Evaporation','mm/day')
    23952454c
    23962455      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
    23972456      CALL histwrite(nid_day,"tops",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2457      call writephy(fid_day,prof2d_av,'tops',topsw,
     2458     .              'Solar rad. at TOA','W/m2')
    23982459c
    23992460      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
    24002461      CALL histwrite(nid_day,"topl",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2462      call writephy(fid_day,prof2d_av,'topl',toplw,
     2463     .              'IR rad. at TOA','W/m2')
    24012464c
    24022465      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
    24032466      CALL histwrite(nid_day,"sols",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2467      call writephy(fid_day,prof2d_av,'sols',solsw,
     2468     .              'Solar rad. at surf.','W/m2')
    24042469c
    24052470      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    24062471      CALL histwrite(nid_day,"soll",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2472      call writephy(fid_day,prof2d_av,'soll',sollw,
     2473     .              'IR rad. at surface','W/m2')
    24072474c
    24082475      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
    24092476      CALL histwrite(nid_day,"solldown",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2477      call writephy(fid_day,prof2d_av,'solldown',sollwdown,
     2478     .              'Down. IR rad. at surface','W/m2')
    24102479c
    24112480      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
    24122481      CALL histwrite(nid_day,"bils",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2482      call writephy(fid_day,prof2d_av,'bils',bils,
     2483     .              'Surf. total heat flux','W/m2')
    24132484c
    24142485      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
    24152486      CALL histwrite(nid_day,"sens",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2487      call writephy(fid_day,prof2d_av,'sens',sens,
     2488     .              'Sensible heat flux','W/m2')
    24162489c
    24172490      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
    24182491      CALL histwrite(nid_day,"fder",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2492      call writephy(fid_day,prof2d_av,'fder',fder,
     2493     .              'Heat flux derivation','W/m2')
    24192494c
    24202495c
     
    24252500        CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itap,
    24262501     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2502        call writephy(fid_day,prof2d_av,'pourc_'//clnsurf(nsrf),
     2503     .                pctsrf( 1 : klon, nsrf),
     2504     .                'Fraction'//clnsurf(nsrf),'-')
    24272505C
    24282506        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
     
    24302508        CALL histwrite(nid_day,"tsol_"//clnsurf(nsrf),itap,
    24312509     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2510        call writephy(fid_day,prof2d_av,'tsol_'//clnsurf(nsrf),
     2511     .                ftsol( 1 : klon, nsrf),
     2512     .                'Surf. Temp'//clnsurf(nsrf),'K')
    24322513C
    24332514        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
     
    24352516        CALL histwrite(nid_day,"sens_"//clnsurf(nsrf),itap,
    24362517     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2437 C
     2518        call writephy(fid_day,prof2d_av,'sens_'//clnsurf(nsrf),
     2519     .                fluxt( 1 : klon, 1, nsrf),
     2520     .                'Sensible heat flux '//clnsurf(nsrf),'W/m2')
     2521
    24382522        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
    24392523        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    24402524        CALL histwrite(nid_day,"lat_"//clnsurf(nsrf),itap,
    24412525     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2526        call writephy(fid_day,prof2d_av,'lat_'//clnsurf(nsrf),
     2527     .                fluxlat( 1 : klon, nsrf),
     2528     .                'Latent heat flux '//clnsurf(nsrf),'W/m2')
    24422529C
    24432530        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
     
    24452532        CALL histwrite(nid_day,"taux_"//clnsurf(nsrf),itap,
    24462533     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2534        call writephy(fid_day,prof2d_av,'taux_'//clnsurf(nsrf),
     2535     .                fluxu( 1 : klon, 1, nsrf),
     2536     .                'Zonal wind stress '//clnsurf(nsrf),'Pa')
    24472537C     
    24482538        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
     
    24502540        CALL histwrite(nid_day,"tauy_"//clnsurf(nsrf),itap,
    24512541     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2542        call writephy(fid_day,prof2d_av,'tauy_'//clnsurf(nsrf),
     2543     .                fluxv( 1 : klon, 1, nsrf),
     2544     .                'Meridional wind stress '//clnsurf(nsrf),'Pa')
    24522545C
    24532546        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
     
    24552548        CALL histwrite(nid_day,"albe_"//clnsurf(nsrf),itap,
    24562549     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2550        call writephy(fid_day,prof2d_av,'albe_'//clnsurf(nsrf),
     2551     .                falbe( 1 : klon, nsrf),
     2552     .                'Albedo surf.'//clnsurf(nsrf),'-')
    24572553C
    24582554        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
     
    24602556        CALL histwrite(nid_day,"rugs_"//clnsurf(nsrf),itap,
    24612557     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2558        call writephy(fid_day,prof2d_av,'rugs_'//clnsurf(nsrf),
     2559     .                frugs( 1 : klon, nsrf),
     2560     .                'Rugosity '//clnsurf(nsrf),' - ')
    24622561C
    24632562      END DO 
     
    24712570      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
    24722571      CALL histwrite(nid_day,"cldl",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2572      call writephy(fid_day,prof2d_av,'cldl',cldl,
     2573     .              'Low-level cloudiness','-')
    24732574c
    24742575      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
    24752576      CALL histwrite(nid_day,"cldm",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2577      call writephy(fid_day,prof2d_av,'cldm',cldm,
     2578     .              'Mid-level cloudiness','-')
    24762579c
    24772580      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
    24782581      CALL histwrite(nid_day,"cldh",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2582      call writephy(fid_day,prof2d_av,'cldh',cldh,
     2583     .              'High-level cloudiness','-')
    24792584c
    24802585      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
    24812586      CALL histwrite(nid_day,"cldt",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2587      call writephy(fid_day,prof2d_av,'cldt',cldt,
     2588     .              'Total cloudiness','-')
    24822589c
    24832590      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
    24842591      CALL histwrite(nid_day,"cldq",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2592      call writephy(fid_day,prof2d_av,'cldq',cldq,
     2593     .              'Cloud liquid water path','-')
    24852594c
    24862595c Champs 3D:
     
    24892598      CALL histwrite(nid_day,"temp",itap,zx_tmp_3d,
    24902599     .                                   iim*jjmp1*klev,ndex3d)
     2600c Essai writephys
     2601      varname = 'temp'
     2602      vartitle= 'temperature 3D'
     2603      varunits= 'K'
     2604      call writephy(fid_day,prof3d_av,varname,t_seri,vartitle,varunits)
    24912605c
    24922606      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
    24932607      CALL histwrite(nid_day,"ovap",itap,zx_tmp_3d,
    24942608     .                                   iim*jjmp1*klev,ndex3d)
     2609      call writephy(fid_day,prof3d_av,'ovap',qx(1,1,ivap),
     2610     .              'Specific humidity','Kg/Kg')
    24952611c
    24962612      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
    24972613      CALL histwrite(nid_day,"geop",itap,zx_tmp_3d,
    24982614     .                                   iim*jjmp1*klev,ndex3d)
     2615      call writephy(fid_day,prof3d_av,'geop',zphi,
     2616     .              'Geopotential height','m')
    24992617c
    25002618      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
    25012619      CALL histwrite(nid_day,"vitu",itap,zx_tmp_3d,
    25022620     .                                   iim*jjmp1*klev,ndex3d)
     2621      call writephy(fid_day,prof3d_av,'vitu',u_seri,
     2622     .              'Zonal wind','m/s')
    25032623c
    25042624      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
    25052625      CALL histwrite(nid_day,"vitv",itap,zx_tmp_3d,
    25062626     .                                   iim*jjmp1*klev,ndex3d)
     2627      call writephy(fid_day,prof3d_av,'vitv',v_seri,
     2628     .              'Meridional wind','m/s')
    25072629c
    25082630      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
    25092631      CALL histwrite(nid_day,"vitw",itap,zx_tmp_3d,
    25102632     .                                   iim*jjmp1*klev,ndex3d)
     2633      call writephy(fid_day,prof3d_av,'vitw',omega,
     2634     .              'Vertical wind','m/s')
    25112635c
    25122636      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
    25132637      CALL histwrite(nid_day,"pres",itap,zx_tmp_3d,
    25142638     .                                   iim*jjmp1*klev,ndex3d)
     2639      call writephy(fid_day,prof3d_av,'pres',pplay,
     2640     .              'Air pressure','Pa')
     2641
    25152642c
    25162643      if (ok_sync) then
     2644        call writephy_sync(fid_day)
    25172645        call histsync(nid_day)
    25182646      endif
Note: See TracChangeset for help on using the changeset viewer.