Changeset 887


Ignore:
Timestamp:
Feb 18, 2013, 2:46:14 PM (12 years ago)
Author:
slebonnois
Message:

SL: add rcm1d tool in Venus and Titan physics to run the code in 1D, and associated small modifications

Location:
trunk
Files:
5 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d/comconst.h

    r841 r887  
    88     &                 iflag_top_bound,mode_top_bound
    99      COMMON/comconstr/dtvr,daysec,                                     &
    10      & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg              &
     10     & pi,dtphys,dtdiss,rad,r,kappa,cotot,unsim,g,omeg                  &
    1111     & ,dissip_fac_mid,dissip_fac_up,dissip_deltaz,dissip_hdelta        &
    1212     & ,dissip_pupstart  ,tau_top_bound,                                &
    1313     & daylen,year_day,molmass, ihf
    14       COMMON/cpdetvenus/nu_venus,t0_venus
     14      COMMON/cpdetvenus/cpp,nu_venus,t0_venus
    1515
    1616      INTEGER im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl
  • trunk/LMDZ.COMMON/libf/dyn3dpar/comconst.h

    r841 r887  
    88     &                 iflag_top_bound,mode_top_bound
    99      COMMON/comconstr/dtvr,daysec,                                     &
    10      & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg              &
     10     & pi,dtphys,dtdiss,rad,r,kappa,cotot,unsim,g,omeg                  &
    1111     & ,dissip_fac_mid,dissip_fac_up,dissip_deltaz,dissip_hdelta        &
    1212     & ,dissip_pupstart  ,tau_top_bound,                                &
    1313     & daylen,year_day,molmass, ihf
    14       COMMON/cpdetvenus/nu_venus,t0_venus
     14      COMMON/cpdetvenus/cpp,nu_venus,t0_venus
    1515
    1616      INTEGER im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl
  • trunk/LMDZ.COMMON/makelmdz

    r849 r887  
    2424fcm_path=none
    2525cosp=false
     26dyn=""
    2627
    2728# guess a default 'arch'
     
    429430  \rm fxyprim.h
    430431  cp -p fxy_${grille}.h fxyprim.h
    431 else
    432   echo "Probleme dans les dimensions de la dynamique !!"
    433   echo "Non reactive pour l'instant !!!"
     432#else
     433#  echo "Probleme dans les dimensions de la dynamique !!"
     434#  echo "Non reactive pour l'instant !!!"
     435fi
     436if (( $dimension == 1 ))
     437then
     438  echo pas de dynamique
     439  dyn="DYN= L_DYN=-ldyn3d "
    434440fi
    435441
     
    459465then
    460466  SUFF_NAME=${SUFF_NAME}_para
    461   DYN=dyn${dimc}dpar
    462467else
    463468  SUFF_NAME=${SUFF_NAME}_seq
    464   DYN=dyn${dimc}d
    465469fi
    466470
     
    561565    else
    562566      # last possibility:
    563       if [[ -r $LMDGCM/libf/phy${physique}/${code}.F ]]
     567      if [[ -r $LMDGCM/libf/phy${physique}/${code}.F90 ]]
    564568      then
    565569        source_code=${code}.F90
     
    600604  INCLUDE="$INCLUDE"' -I$(LIBF)/phy'"$physique"
    601605fi
    602 INCLUDE="$INCLUDE"' -I$(LIBF)/dyn'${dimc}'d'$FLAG_PARA' -I'${LIBOGCM}/${nomlib}
     606if (( $dimension == 1 ))
     607then
     608 INCLUDE="$INCLUDE"' -I$(LIBF)/dyn3d -I'${LIBOGCM}/${nomlib}
     609else
     610 INCLUDE="$INCLUDE"' -I$(LIBF)/dyn'${dimc}'d'$FLAG_PARA' -I'${LIBOGCM}/${nomlib}
     611fi
    603612
    604613# ranlib utility (check it exists or else default to ls)
     
    632641INCLUDEC="$includec" \
    633642$filtre \
     643$dyn \
    634644LIBO=${LIBOGCM}/${nomlib} \
    635 "PHYS=$physique" \
     645PHYS=$physique \
    636646DIM=$dimc \
    637647FLAG_PARA=$FLAG_PARA \
     
    662672INCLUDEC="$includec" \
    663673$filtre \
     674$dyn \
    664675LIBO=${LIBOGCM}/${nomlib} \
    665 "PHYS=$physique" \
     676PHYS=$physique \
    666677DIM=$dimc \
    667678FLAG_PARA=$FLAG_PARA \
  • trunk/LMDZ.TITAN/libf/phytitan/effg.F

    r808 r887  
    66!    (et dans physique, attention a clmain et autres...)
    77
    8 !      EFFG = RG * (RA/(RA + Z ) )**2
     8      EFFG = RG * (RA/(RA + Z ) )**2
    99
    1010! Pour l'instant:
    11       EFFG = RG
     11!     EFFG = RG
    1212      RETURN
    1313      END
  • trunk/LMDZ.TITAN/libf/phytitan/physiq.F

    r855 r887  
    780780      DO l=1,klev
    781781         DO i=1,klon
    782             zzlay(i,l)=zphi(i,l)/RG
     782c           zzlay(i,l)=zphi(i,l)/RG
    783783c SI ON TIENT COMPTE DE LA VARIATION DE G AVEC L'ALTITUDE:
    784 c           zzlay(i,l)=RG*RA*RA/(RG*RA-zphi(i,l))-RA
     784            zzlay(i,l)=RG*RA*RA/(RG*RA-zphi(i,l))-RA
    785785         ENDDO
    786786      ENDDO
     
    15481548#endif
    15491549
    1550 c ---------- Sorties testphys1d -------------
    1551      
    1552       if (klon.eq.1) then
    1553         call writeg1d(klon,klev,t_seri,"Temp","Temperature")
    1554         call writeg1d(klon,1,ftsol,"tsurf","Surface Temp")
    1555       DO k = 1, klev
    1556       DO i = 1, klon
    1557 c        tmpout(i,k) = real(heat(i,k))
    1558          tmpout(i,k) = heat(i,k)
    1559       ENDDO
    1560       ENDDO
    1561         call writeg1d(klon,klev,tmpout,
    1562      .                 "heat","Solar heating")
    1563       DO k = 1, klev
    1564       DO i = 1, klon
    1565 c        tmpout(i,k) = real(dtrad(i,k))
    1566          tmpout(i,k) = dtrad(i,k)
    1567       ENDDO
    1568       ENDDO
    1569         call writeg1d(klon,klev,tmpout,
    1570      .                 "dtrad","IR cooling")
    1571         call writeg1d(klon,klev,lwnet,"lwnet","Net LW flux")
    1572         call writeg1d(klon,klev,swnet,"swnet","Net SW flux")
    1573         call writeg1d(klon,klev,fluxt,"flux_vdf","Turbulent flux")
    1574         call writeg1d(klon,klev,flux_ajs,"flux_ajs","Dry adjust. flux")
    1575         call writeg1d(klon,klev,flux_ec,"flux_ec","Ec flux")
    1576 c       call writeg1d(klon,1,solsw,"surfsw","Net SW flux at surface")
    1577 c       call writeg1d(klon,1,sollw,"surflw","Net LW flux at surface")
    1578         call writeg1d(klon,1,radsol,"surfnet","Net flux at surface")
    1579         call writeg1d(klon,klev,d_t_vdf,"dt_vdf","DT from clmain")
    1580         call writeg1d(klon,klev,d_t_ajs,"dt_ajs","DT from ajsec")
    1581         call writeg1d(klon,klev,d_t_ec,"dt_ec","DT from Ec")
    1582       endif
    1583      
    15841550c====================================================================
    15851551c Si c'est la fin, il faut conserver l'etat de redemarrage
  • trunk/LMDZ.VENUS/libf/phyvenus/physiq.F

    r849 r887  
    13021302#endif
    13031303
    1304 c ---------- Sorties testphys1d -------------
    1305      
    1306       if (klon.eq.1) then
    1307         call writeg1d(klon,klev,t_seri,"Temp","Temperature")
    1308         call writeg1d(klon,1,ftsol,"tsurf","Surface Temp")
    1309       DO k = 1, klev
    1310       DO i = 1, klon
    1311 c        tmpout(i,k) = real(heat(i,k))/RDAY
    1312          tmpout(i,k) = heat(i,k)/RDAY
    1313       ENDDO
    1314       ENDDO
    1315         call writeg1d(klon,klev,tmpout,
    1316      .                 "heat","Solar heating")
    1317       DO k = 1, klev
    1318       DO i = 1, klon
    1319 c        tmpout(i,k) = real(dtrad(i,k))
    1320          tmpout(i,k) = dtrad(i,k)
    1321       ENDDO
    1322       ENDDO
    1323         call writeg1d(klon,klev,tmpout,
    1324      .                 "dtrad","IR cooling")
    1325         call writeg1d(klon,klev,lwnet,"lwnet","Net LW flux")
    1326         call writeg1d(klon,klev,swnet,"swnet","Net SW flux")
    1327         call writeg1d(klon,klev,fluxt,"flux_vdf","Turbulent flux")
    1328         call writeg1d(klon,klev,flux_ajs,"flux_ajs","Dry adjust. flux")
    1329         call writeg1d(klon,klev,flux_ec,"flux_ec","Ec flux")
    1330 c       call writeg1d(klon,1,solsw,"surfsw","Net SW flux at surface")
    1331 c       call writeg1d(klon,1,sollw,"surflw","Net LW flux at surface")
    1332         call writeg1d(klon,1,radsol,"surfnet","Net flux at surface")
    1333         call writeg1d(klon,klev,d_t_vdf,"dt_vdf","DT from clmain")
    1334         call writeg1d(klon,klev,d_t_ajs,"dt_ajs","DT from ajsec")
    1335         call writeg1d(klon,klev,d_t_ec,"dt_ec","DT from Ec")
    1336       endif
    1337      
    13381304c====================================================================
    13391305c Si c'est la fin, il faut conserver l'etat de redemarrage
  • trunk/LMDZ.VENUS/libf/phyvenus/profile.F

    r3 r887  
    22      IMPLICIT NONE
    33c=======================================================================
    4 c     Subroutine utilisee dans le modele 1-D  "testphys1d"
     4c     Subroutine utilisee dans le modele 1-D  "rcm1d"
    55c     pour l'initialisation du profil atmospherique
    66c=======================================================================
     7c
     8c   VERSION VENUS
    79c
    810c   differents profils d'atmospheres. T=f(z)
     
    5658c   ----------------
    5759
    58 c la lecture se fait dans le testphys1d.def, ouvert par testphys1d.F
     60c la lecture se fait dans le rcm1d.def, ouvert par rcm1d.F
    5961      READ(unit,*)
    6062      READ(unit,*)
     
    6668      READ(unit,*) largeur
    6769      READ(unit,*) hauteur
    68       CLOSE(unit)
    6970
    7071c-----------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.