Ignore:
Timestamp:
Mar 9, 2001, 4:36:10 PM (24 years ago)
Author:
lmdzadmin
Message:

Lots of stuff, plus particulierement:

  • appel a ORCHIDEE en etat de marche (pb de grille subsiste)
  • modifs de Pascale sur soil dans le cas ou ok_veget=false -
Location:
LMDZ.3.3/branches/rel-LF/libf/dyn3d
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/calfis.F

    r79 r177  
    128128      REAL zdtfi(ngridmx,llm),zdqfi(ngridmx,llm,nqmx)
    129129      REAL zdpsrf(ngridmx)
     130      REAL zcufi(ngridmx),zcvfi(ngridmx)
    130131c
    131132      REAL zsin(iim),zcos(iim),z1(iim)
     
    177178         latfi(1)=rlatu(1)
    178179         lonfi(1)=0.
     180         zcufi(1) = cu(1,1)
     181         zcvfi(1) = cv(1,1)
    179182         DO j=2,jjm
    180183            DO i=1,iim
    181184               latfi((j-2)*iim+1+i)= rlatu(j)
    182185               lonfi((j-2)*iim+1+i)= rlonv(i)
     186               zcufi((j-2)*iim+1+i) = cu(i,j)
     187               zcvfi((j-2)*iim+1+i) = cv(i,j)
    183188            ENDDO
    184189         ENDDO
    185190         latfi(ngridmx)= rlatu(jjp1)
    186191         lonfi(ngridmx)= 0.
     192         zcufi(ngridmx) = cu(1,jjp1)
     193         zcvfi(ngridmx) = cv(1,jjm)
    187194         CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,aire,airefi)
    188195          PRINT*,'WARNING!!! vitesse verticale nulle dans la physique'
     
    430437     ,             presnivs,clesphy0,  zufi, zvfi,ztfi, zqfi, 
    431438ccc     ,             pcvgu, pcvgv, pcvgt, pcvgq,
    432      ,             pvervel,
     439     ,             pvervel, zcufi, zcvfi,
    433440C - sorties
    434441     s             zdufi, zdvfi, zdtfi, zdqfi,zdpsrf              )
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/create_limit.F

    r173 r177  
    101101      REAL, ALLOCATABLE, DIMENSION (:,:) :: fraclic
    102102      REAL :: flic_tmp(iip1, jjp1)
    103       REAL :: champint(iim, jjp1)
    104103c Diverses variables locales
    105104      REAL time
     
    153152      zmasq(:) = 0.
    154153      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0)
    155       WHERE (zmasq(1 : klon) .LE. EPSFRA)
     154      WHERE (zmasq(1 : klon) .LT. EPSFRA)
    156155          zmasq(1 : klon) = 0.
     156      END WHERE
     157      WHERE (1 - zmasq(1 : klon) .LT. EPSFRA)
     158          zmasq(1 : klon) = 1.
    157159      END WHERE
    158160!      WRITE(*,*)zmasq
     
    169171          END DO
    170172      ENDIF
    171       DO i = 1, iim
     173c$$$      DO i = 1, iim
     174c$$$      DO j = 1, jjp1
     175c$$$         mask(i,j) = masque(i,j)
     176c$$$      ENDDO
     177c$$$      ENDDO
     178c$$$      CALL gr_dyn_fi(1, iip1, jjp1, klon, masque, phy_nat0)
     179      phy_nat0(1:klon) = zmasq(1:klon)
     180      mask = 0.
    172181      DO j = 1, jjp1
    173          mask(i,j) = masque(i,j)
    174       ENDDO
    175       ENDDO
    176       CALL gr_dyn_fi(1, iip1, jjp1, klon, masque, phy_nat0)
     182        DO i = 1, iim
     183          IF ( masque(i,j) .GE. EPSFRA) mask (i,j) = 1
     184        END DO
     185      END DO 
    177186C
    178187C En cas de simulation couplee, lecture du masque ocean issu du modele ocean
     
    275284     $    pctsrf(1:klon, is_lic))
    276285C adequation avec le maque terre/mer
    277       WHERE (pctsrf(1 : klon, is_lic) .LE. EPSFRA )
     286      WHERE (pctsrf(1 : klon, is_lic) .LT. EPSFRA )
    278287          pctsrf(1 : klon, is_lic) = 0.
    279288      END WHERE
    280       WHERE (zmasq( 1 : klon) .LE. EPSFRA)
     289      WHERE (zmasq( 1 : klon) .LT. EPSFRA)
    281290          pctsrf(1 : klon, is_lic) = 0.
    282291      END WHERE
     
    289298            ELSE
    290299                pctsrf(ji,is_ter) = zmasq(ji) - pctsrf(ji, is_lic)
     300                IF (pctsrf(ji,is_ter) .LT. EPSFRA) THEN
     301                    pctsrf(ji,is_ter) = 0.
     302                    pctsrf(ji, is_lic) = zmasq(ji)
     303                ENDIF
    291304            ENDIF
    292305        ENDIF
     
    557570CPB  en attendant de mettre fraction de terre
    558571c
    559           WHERE(phy_ice(1:klon) .GT. 1.) phy_ice(1 : klon) = 1.
     572          WHERE(phy_ice(1:klon) .GE. 1.) phy_ice(1 : klon) = 1.
    560573          WHERE(phy_ice(1:klon) .LT. EPSFRA) phy_ice(1 : klon) = 0.
    561574c
     
    564577            pctsrf_t(:,is_ter,k) = pctsrf(:,is_ter)
    565578            pctsrf_t(:,is_lic,k) = pctsrf(:,is_lic)
     579            pctsrf_t(1:klon,is_sic,k) =   phy_ice(1:klon)
     580     $            - pctsrf_t(1:klon,is_lic,k)
     581c§§ Il y a des cas ou il y a de la glace dans landiceref et pas dans AMIP
     582            WHERE (pctsrf_t(1:klon,is_sic,k) .LE. 0)
     583                pctsrf_t(1:klon,is_sic,k) = 0.
     584            END WHERE
     585            WHERE( 1. - zmasq(1:klon) .LT. EPSFRA)
     586                pctsrf_t(1:klon,is_sic,k) = 0.
     587                pctsrf_t(1:klon,is_oce,k) = 0.
     588            END WHERE
    566589            DO i = 1, klon
    567               pctsrf_t(i,is_sic,k) = (1. - pctsrf_t(i,is_lic,k) -
    568      .                               pctsrf_t(i,is_ter,k)) * phy_ice(i)
    569               pctsrf_t(i,is_oce,k) = 1. - pctsrf_t(i,is_lic,k) -
    570      .                      pctsrf_t(i,is_ter,k) - pctsrf_t(i,is_sic,k) 
     590c$$              pctsrf_t(i,is_sic,k) = (1. - pctsrf_t(i,is_lic,k) -
     591c$$     .                               pctsrf_t(i,is_ter,k)) * phy_ice(i)
     592c$$              pctsrf_t(i,is_oce,k) = 1. - pctsrf_t(i,is_lic,k) -
     593c$$     .                      pctsrf_t(i,is_ter,k) - pctsrf_t(i,is_sic,k)
     594              IF ( 1. - zmasq(i) .GT. EPSFRA) THEN
     595                  IF ( pctsrf_t(i,is_sic,k) .GE. 1 - zmasq(i)) THEN
     596                      pctsrf_t(i,is_sic,k) = 1 - zmasq(i)
     597                      pctsrf_t(i,is_oce,k) = 0.
     598                  ELSE
     599                      pctsrf_t(i,is_oce,k) = 1 - zmasq(i)
     600     $                    - pctsrf_t(i,is_sic,k)
     601                      IF (pctsrf_t(i,is_oce,k) .LT. EPSFRA) THEN
     602                          pctsrf_t(i,is_oce,k) = 0.
     603                          pctsrf_t(i,is_sic,k) = 1 - zmasq(i)
     604                      ENDIF
     605                  ENDIF
     606              ENDIF 
    571607              if (pctsrf_t(i,is_oce,k) .lt. 0.) then
    572                       WRITE(*,*) 'pb sous maille au point : i,k '
    573      $                    , i,k,pctsrf_t(:,is_oce,k)
     608                  WRITE(*,*) 'pb sous maille au point : i,k '
     609     $                , i,k,pctsrf_t(:,is_oce,k)
     610              ENDIF
     611              IF ( abs( pctsrf_t(i, is_ter,k) + pctsrf_t(i, is_lic,k) +
     612     $            pctsrf_t(i, is_oce,k) + pctsrf_t(i, is_sic,k)  - 1.)
     613     $            .GT. EPSFRA) THEN
     614                  WRITE(*,*) 'physiq : pb sous surface au point ', i,
     615     $                pctsrf_t(i, 1 : nbsrf,k), phy_ice(i)
    574616              ENDIF
    575617            END DO
    576           ELSE
     618        ELSE
    577619            DO i = 1, klon
    578620              pctsrf_t(i,is_ter,k) = pctsrf(i,is_ter)
     
    750792      ENDDO
    751793c
     794      WHERE(phy_sst .LT. 271.35) phy_sst = 271.35
    752795      ierr = NF_CLOSE(ncid)
    753796c
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/defrun_new.F

    r2 r177  
    7575c-----------------------------------------------------------------------
    7676
    77       OPEN( tapedef,file ='run.def',status='old',form='formatted')
     77      OPEN( tapedef,file ='gcm.def',status='old',form='formatted')
    7878
    7979
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/etat0_netcdf.F

    r174 r177  
    186186      zmasq(:) = 0.
    187187      CALL startget(varname,iip1,jjp1,rlonv,rlatu,klon,zmasq,0.0)
    188       WHERE (zmasq(1 : klon) .LE. EPSFRA)
     188      WHERE (zmasq(1 : klon) .LT. EPSFRA)
    189189          zmasq(1 : klon) = 0.
     190      END WHERE
     191      WHERE (1. - zmasq(1 : klon) .LT. EPSFRA)
     192          zmasq(1 : klon) = 1.
    190193      END WHERE
    191194      WRITE(*,*)zmasq
     
    434437     $    pctsrf(1:klon, is_lic))
    435438C adequation avec le maque terre/mer
    436       WHERE (pctsrf(1 : klon, is_lic) .LE. EPSFRA )
     439c      zmasq(157) = 0.
     440      WHERE (pctsrf(1 : klon, is_lic) .LT. EPSFRA )
    437441          pctsrf(1 : klon, is_lic) = 0.
    438442      END WHERE
    439       WHERE (zmasq( 1 : klon) .LE. EPSFRA)
     443      WHERE (zmasq( 1 : klon) .LT. EPSFRA)
    440444          pctsrf(1 : klon, is_lic) = 0.
    441445      END WHERE
     
    448452            ELSE
    449453                pctsrf(ji,is_ter) = zmasq(ji) - pctsrf(ji, is_lic)
     454                IF (pctsrf(ji,is_ter) .LT. EPSFRA) THEN
     455                    pctsrf(ji,is_ter) = 0.
     456                    pctsrf(ji, is_lic) = zmasq(ji)
     457                ENDIF
    450458            ENDIF
    451459        ENDIF
     
    558566      albe(:,is_sic) = 0.6
    559567      evap(:,:) = 0.
    560       qsolsrf(:,is_ter) = qsol
    561       qsolsrf(:,is_lic) = qsol
     568      qsolsrf(:,is_ter) = 150
     569      qsolsrf(:,is_lic) = 150
    562570      qsolsrf(:,is_oce) = 150.
    563571      qsolsrf(:,is_sic) = 150.
     
    577585      frugs(:,is_ter) = rugmer
    578586      frugs(:,is_lic) = rugmer
    579       frugs(:,is_sic) = rugmer
     587      frugs(:,is_sic) = 0.001
    580588
    581589      call physdem("startphy.nc",phystep,radpas, co2_ppm, solaire,
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/gcm.F

    r113 r177  
    358358     $  ( itau,ucov,vcov,teta,ps,masse,pk,pkf,phis ,
    359359     $    phi,conser,du,dv,dteta,dp,w, pbaru,pbarv, time+iday-day_ini )
     360      write(47,*)'dp apres caldyn'
     361      write(47,*)dp
    360362
    361363c-----------------------------------------------------------------------
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/grid_noro.F

    r99 r177  
    332332c angle theta:
    333333           zthe(ii,jj)=57.29577951*atan2(xm,xl)/2.
    334 c$$$           zphi(ii,jj)=zmea(ii,jj)
     334           zphi(ii,jj)=zmea(ii,jj)
    335335c$$$           zmea(ii,jj)=zmea(ii,jj)
    336336c$$$           zpic(ii,jj)=zpic(ii,jj)
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/startvar.F

    r99 r177  
     1! $Header$
    12      MODULE startvar
    23    !
     
    319320     $    phis, relief, zstd, zsig, zgam, zthe, zpic, zval, masque)
    320321      phis = phis * 9.81
     322!      write(*,*)'phis sortie grid_noro'
     323!      write(*,*)phis
    321324    !
    322325    !PB supression ligne suivant pour masque avec % terre
Note: See TracChangeset for help on using the changeset viewer.