Changeset 223


Ignore:
Timestamp:
Jun 6, 2001, 4:27:20 PM (23 years ago)
Author:
lmdzadmin
Message:

Impression debug dans clmain MAFO
Introduction du physiq.def LF
LF

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  
    2828cAA il faudra sortir ces memes champs en leur ajoutant une dimension,
    2929cAA c'est a dire nbsrf (nbre de subsurface).
    30  
     30      USE ioipsl
     31      USE interface_surf
    3132      IMPLICIT none
    3233c======================================================================
     
    174175      REAL zx_alf1, zx_alf2 !valeur ambiante par extrapola.
    175176c======================================================================
    176 
     177c
     178c maf pour sorties IOISPL en cas de debugagage
     179c
     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         
    177227      DO k = 1, klev   ! epaisseur de couche
    178228      DO i = 1, klon
     
    294344c
    295345      write(*,*)'CLMAIN, nsrf, knon =',nsrf, knon
     346c
     347c variables pour avoir une sortie IOIPSL des INDEX
     348c
     349      IF (debugindex) THEN
     350          tabindx(:)=0.
     351c          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
    296361      IF (knon.EQ.0) GOTO 99999
    297362      DO j = 1, knon
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/conf_phys.F90

    r222 r223  
    2222
    2323  use IOIPSL     
    24 
     24  implicit none
    2525!
    2626! ocean:      type d'ocean (force, slab, couple)
     
    3636  logical              :: ok_veget
    3737  logical              :: ok_journe, ok_mensuel, ok_instan
     38! Local
     39  integer              :: numout = 6
    3840
    3941!
     
    8991!
    9092
    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
    96100
    97101
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90

    r205 r223  
    1 ! $Header
     1! $Header$
    22
    33  MODULE interface_surf
     
    2626
    2727  PRIVATE
    28   PUBLIC :: interfsurf,interfsurf_hq
     28  PUBLIC :: interfsurf,interfsurf_hq,gath2cpl
    2929
    3030  INTERFACE interfsurf
     
    197197  real, DIMENSION(klon):: zfra
    198198  logical              :: cumul = .false.
    199   logical              :: scatter = .false.
     199  logical,save         :: scatter = .false.
    200200
    201201  if (check) write(*,*) 'Entree ', modname
     
    345345!  appel a sechiba
    346346!
    347       scatter= .true.
     347      scatter = .true.
     348      call getin('SCATTER',scatter)
    348349      if (.not. scatter) then
    349350        call interfsol(itime, klon, dtime, date0, nisurf, knon, &
     
    753754  real, allocatable, dimension (:,:), save :: lon_scat, lat_scat 
    754755
    755   logical, save             :: lrestart_read = .true. , lrestart_write = .true.
     756  logical, save          :: lrestart_read = .true. , lrestart_write = .false.
    756757
    757758  real, dimension(klon):: qsurf
     
    928929! Appel a la routine sols continentaux
    929930!
     931  if (lafin) lrestart_write = .true.
     932  if (check) write(*,*)'lafin ',lafin,lrestart_write
    930933
    931934  petA_orc = petBcoef * dtime
     
    960963
    961964  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.
    962971
    963972  END SUBROUTINE interfsol
     
    26422651     & * p1lay(i)/(RD*t1lay(i))
    26432652  ENDDO
     2653
     2654
    26442655! === Calcul de la temperature de surface ===
    26452656!
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F

    r205 r223  
    8181      EXTERNAL fromcpl, intocpl, inicma
    8282c      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
     86c      parameter (ocean = 'force ')
    8587c     parameter (ocean = 'couple')
    8688      logical ok_ocean
     
    9496ccc      PARAMETER (soil_model=.FALSE.)
    9597      logical ok_veget
    96       parameter (ok_veget = .true.)
     98      save ok_veget
     99c     parameter (ok_veget = .true.)
    97100c      parameter (ok_veget = .false.)
    98101c======================================================================
     
    112115c======================================================================
    113116      LOGICAL ok_journe ! sortir le fichier journalier
    114       PARAMETER (ok_journe=.true.)
     117      save ok_journe
     118c      PARAMETER (ok_journe=.true.)
    115119c
    116120      LOGICAL ok_mensuel ! sortir le fichier mensuel
    117       PARAMETER (ok_mensuel=.true.)
     121      save ok_mensuel
     122c      PARAMETER (ok_mensuel=.true.)
    118123c
    119124      LOGICAL ok_instan ! sortir le fichier instantane
    120       PARAMETER (ok_instan=.false.)
     125      save ok_instan
     126c      PARAMETER (ok_instan=.true.)
    121127c
    122128      LOGICAL ok_region ! sortir le fichier regional
     
    527533       IF (debut) THEN
    528534
     535c
     536c appel a la lecture du run.def physique
     537c
     538         call conf_phys(ocean, ok_veget, ok_journe, ok_mensuel,
     539     .                  ok_instan)
     540
    529541         DO k = 2, nvm          ! pas de vegetation
    530542            DO i = 1, klon
     
    786798C
    787799           call histdef(nid_day, "albe_"//clnsurf(nsrf),
    788      $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
     800     $         "Albedo surf. "//clnsurf(nsrf), "W/m2", 
    789801     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    790802     $         "ave(X)", zsto,zout)
     
    10231035c
    10241036           call histdef(nid_mth, "albe_"//clnsurf(nsrf),
    1025      $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
     1037     $         "Albedo surf. "//clnsurf(nsrf), "W/m2", 
    10261038     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    10271039     $         "ave(X)", zsto,zout)
     
    13711383c
    13721384           call histdef(nid_ins, "albe_"//clnsurf(nsrf),
    1373      $         "Albedo "//clnsurf(nsrf), "-", 
     1385     $         "Albedo surf. "//clnsurf(nsrf), "-", 
    13741386     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    13751387     $         "inst(X)", zsto,zout)
Note: See TracChangeset for help on using the changeset viewer.