Ignore:
Timestamp:
Nov 29, 2013, 9:40:25 AM (11 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r1860:1909 into testing branch

Location:
LMDZ5/branches/testing
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf

    • Property copyright set to
      Name of program: LMDZ
      Creation date: 1984
      Version: LMDZ5
      License: CeCILL version 2
      Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
      See the license file in the root directory
  • LMDZ5/branches/testing/libf/phylmd

    • Property copyright set to
      Name of program: LMDZ
      Creation date: 1984
      Version: LMDZ5
      License: CeCILL version 2
      Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
      See the license file in the root directory
  • LMDZ5/branches/testing/libf/phylmd/write_histday_seri.h

    • Property copyright set to
      Name of program: LMDZ
      Creation date: 1984
      Version: LMDZ5
      License: CeCILL version 2
      Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
      See the license file in the root directory
    r1665 r1910  
    1 c
    2 c $Header$
    3 c
     1!
     2! $Header$
     3!
    44      IF (is_sequential) THEN
    55     
    66      IF (type_run.EQ."AMIP") THEN
    7 c
     7!
    88      ndex2d = 0
    99      itau_w = itau_phy + itap + start_time * day_step / iphysiq
    10 c
    11 c Champs 2D:
    12 c
     10!
     11! Champs 2D:
     12!
    1313      pi = ACOS(-1.)
    1414      pir = 4.0*ATAN(1.0) / 180.0
    15 c
     15!
    1616      DO i=1, klon
    1717       zx_tmp_fi2d(i)=(topsw(i)-toplw(i))
    1818      ENDDO
    19 c
     19!
    2020      ok_msk=.FALSE.
    2121      msk(1:klon)=pctsrf(1:klon,is_ter)
    22       CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
    23      .     ok_msk, msk, moyglo)
    24       zx_tmp_fi2d(1:klon)=moyglo
    25 c
    26       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    27       CALL histwrite(nid_day_seri,"bilTOA",itau_w,
    28      .               zx_tmp_2d,iim*jjmp1,ndex2d)
    29 c
    30       ok_msk=.FALSE.
    31       CALL moyglo_pondaire(klon, bils, airephy,
    32      .     ok_msk, msk, moyglo)
    33       zx_tmp_fi2d(1:klon)=moyglo
    34 c
    35       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    36       CALL histwrite(nid_day_seri,"bils",itau_w,
    37      .               zx_tmp_2d,iim*jjmp1,ndex2d)
    38 c
     22      CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,  &
     23           ok_msk, msk, moyglo)
     24      zx_tmp_fi2d(1:klon)=moyglo
     25!
     26      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     27      CALL histwrite(nid_day_seri,"bilTOA",itau_w, &
     28                     zx_tmp_2d,iim*jjmp1,ndex2d)
     29!
     30      ok_msk=.FALSE.
     31      CALL moyglo_pondaire(klon, bils, airephy,  &
     32           ok_msk, msk, moyglo)
     33      zx_tmp_fi2d(1:klon)=moyglo
     34!
     35      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     36      CALL histwrite(nid_day_seri,"bils",itau_w, &
     37                     zx_tmp_2d,iim*jjmp1,ndex2d)
     38!
    3939      DO k=1, klev
    4040      DO i=1, klon
    41 cIM 080904    zx_tmp_fi3d(i,k)=u(i,k)**2+v(i,k)**2
     41!IM 080904    zx_tmp_fi3d(i,k)=u(i,k)**2+v(i,k)**2
    4242       zx_tmp_fi3d(i,k)=(u(i,k)**2+v(i,k)**2)/2.
    4343      ENDDO
    4444      ENDDO
    45 c
    46       CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d,
    47      .     airephy, paprs, moyglo)
    48       zx_tmp_fi2d(1:klon)=moyglo
    49 c
    50       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    51       CALL histwrite(nid_day_seri,"ecin",itau_w,
    52      .               zx_tmp_2d,iim*jjmp1,ndex2d)
    53 c
    54 cIM 151004 BEG
     45!
     46      CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d,  &
     47           airephy, paprs, moyglo)
     48      zx_tmp_fi2d(1:klon)=moyglo
     49!
     50      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     51      CALL histwrite(nid_day_seri,"ecin",itau_w, &
     52                     zx_tmp_2d,iim*jjmp1,ndex2d)
     53!
     54!IM 151004 BEG
    5555      IF(1.EQ.0) THEN
    56 c
     56!
    5757      DO k=1, klev
    5858      DO i=1, klon
     
    6060      ENDDO
    6161      ENDDO
    62 c
    63       CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d,
    64      .     airephy, paprs, moyglo)
    65       zx_tmp_fi2d(1:klon)=moyglo
    66 c
    67       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    68       CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d,
    69      .               iim*jjmp1,ndex2d)
    70 c
    71 c friction torque
    72 c
     62!
     63      CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d,  &
     64           airephy, paprs, moyglo)
     65      zx_tmp_fi2d(1:klon)=moyglo
     66!
     67      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     68      CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, &
     69                     iim*jjmp1,ndex2d)
     70!
     71! friction torque
     72!
    7373      DO i=1, klon
    7474       zx_tmp_fi2d(i)=zxfluxu(i,1)*RA* cos(pir* rlat(i))
    7575      ENDDO
    76 c
    77       ok_msk=.FALSE.
    78       CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
    79      .     ok_msk, msk, moyglo)
    80       zx_tmp_fi2d(1:klon)=moyglo
    81 c
    82       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    83       CALL histwrite(nid_day_seri,"frictor",itau_w,zx_tmp_2d,
    84      .               iim*jjmp1,ndex2d)
    85 c
    86 c mountain torque
    87 c
    88 cIM 190504 BEG
     76!
     77      ok_msk=.FALSE.
     78      CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,  &
     79           ok_msk, msk, moyglo)
     80      zx_tmp_fi2d(1:klon)=moyglo
     81!
     82      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     83      CALL histwrite(nid_day_seri,"frictor",itau_w,zx_tmp_2d, &
     84                     iim*jjmp1,ndex2d)
     85!
     86! mountain torque
     87!
     88!IM 190504 BEG
    8989      CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn)
    9090      CALL gr_fi_dyn(klev+1,klon,iim+1,jjm+1,paprs,padyn)
     
    9797        zx_tmp(ij)=0.
    9898        DO k = 1, klev
    99          zx_tmp(ij)=zx_tmp(ij)+dudyn(i,j,k)*airedyn(i,j)*
    100      $              (padyn(i,j,k+1)-padyn(i,j,k))/RG
     99         zx_tmp(ij)=zx_tmp(ij)+dudyn(i,j,k)*airedyn(i,j)* &
     100                    (padyn(i,j,k+1)-padyn(i,j,k))/RG
    101101         airetot=airetot+airedyn(i,j)
    102102        ENDDO
    103 cIM 190504 mountor=mountor+zx_tmp(ij)*airedyn(i,j)*RA*
    104         mountor=mountor+zx_tmp(ij)*RA*
    105      $           cos(pir* rlatdyn(i,j))
     103!IM 190504 mountor=mountor+zx_tmp(ij)*airedyn(i,j)*RA*
     104        mountor=mountor+zx_tmp(ij)*RA* &
     105                 cos(pir* rlatdyn(i,j))
    106106       ENDDO
    107107      ENDDO
    108 cIM 151004 BEG
     108!IM 151004 BEG
    109109      IF(itap.EQ.1) PRINT*,'airetot=',airetot,airetot/klev
    110 cIM 151004 END
    111 cIM 190504      mountor=mountor/(airetot*airetot)
     110!IM 151004 END
     111!IM 190504      mountor=mountor/(airetot*airetot)
    112112      mountor=mountor/airetot
    113 c
    114 cIM 190504 END
     113!
     114!IM 190504 END
    115115      zx_tmp_2d(1:iim,1:jjmp1)=mountor
    116       CALL histwrite(nid_day_seri,"mountor",itau_w,zx_tmp_2d,
    117      .               iim*jjmp1,ndex2d)
    118 c
     116      CALL histwrite(nid_day_seri,"mountor",itau_w,zx_tmp_2d, &
     117                     iim*jjmp1,ndex2d)
     118!
    119119      ENDIF !(1.EQ.0) THEN
    120 c
    121 c
     120!
     121!
    122122      CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn)
    123123      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
    124124      airetot=0.
    125 c     DO j = 1, jjmp1
    126 c      DO i = 1, iim+1
    127 c       ij=i+(iim+1)*(j-1)
    128 c       DO k = 1, klev
    129 c        airetot=airetot+airedyn(i,j)
    130 c        airetot=airetot+airedyn(i,j)
    131 c       ENDDO !k
    132 c      ENDDO !i
    133 c     ENDDO !j
    134 c
     125!     DO j = 1, jjmp1
     126!      DO i = 1, iim+1
     127!       ij=i+(iim+1)*(j-1)
     128!       DO k = 1, klev
     129!        airetot=airetot+airedyn(i,j)
     130!        airetot=airetot+airedyn(i,j)
     131!       ENDDO !k
     132!      ENDDO !i
     133!     ENDDO !j
     134!
    135135      DO i=1, klon
    136136       airetot=airetot+airephy(i)
    137137      ENDDO
    138 c     IF(itap.EQ.1) PRINT*,'airetotphy=',airetot
    139 c
     138!     IF(itap.EQ.1) PRINT*,'airetotphy=',airetot
     139!
    140140      airetot=0.
    141141      DO j=1, jjmp1
     
    144144       ENDDO
    145145      ENDDO
    146 c
    147 c     IF(itap.EQ.1) PRINT*,'airetotij=',airetot,
    148 c    $ '4piR2',4.*pi*RA*RA
    149 c
     146!
     147!     IF(itap.EQ.1) PRINT*,'airetotij=',airetot,
     148!    $ '4piR2',4.*pi*RA*RA
     149!
    150150      zx_tmp_fi2d(1:klon)=aam/airetot
    151151      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    152       CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d,
    153      .               iim*jjmp1,ndex2d)
    154 c
     152      CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, &
     153                     iim*jjmp1,ndex2d)
     154!
    155155      zx_tmp_fi2d(1:klon)=torsfc/airetot
    156156      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    157       CALL histwrite(nid_day_seri,"torsfc",itau_w,zx_tmp_2d,
    158      .               iim*jjmp1,ndex2d)
    159 c
    160 cIM 151004 END
    161 c
    162       CALL moyglo_pondmass(klon, klev, t_seri,
    163      .     airephy, paprs, moyglo)
    164       zx_tmp_fi2d(1:klon)=moyglo
    165 c
     157      CALL histwrite(nid_day_seri,"torsfc",itau_w,zx_tmp_2d, &
     158                     iim*jjmp1,ndex2d)
     159!
     160!IM 151004 END
     161!
     162      CALL moyglo_pondmass(klon, klev, t_seri, &
     163           airephy, paprs, moyglo)
     164      zx_tmp_fi2d(1:klon)=moyglo
     165!
    166166      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    167       CALL histwrite(nid_day_seri,"tamv",itau_w,
    168      .               zx_tmp_2d,iim*jjmp1,ndex2d)
    169 c
    170       ok_msk=.FALSE.
    171       CALL moyglo_pondaire(klon, paprs(:,1), airephy,
    172      .     ok_msk, msk, moyglo)
    173       zx_tmp_fi2d(1:klon)=moyglo
    174 c
    175       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    176       CALL histwrite(nid_day_seri,"psol",itau_w,
    177      .               zx_tmp_2d,iim*jjmp1,ndex2d)
    178 c
    179       ok_msk=.FALSE.
    180       CALL moyglo_pondaire(klon, evap, airephy,
    181      .     ok_msk, msk, moyglo)
    182       zx_tmp_fi2d(1:klon)=moyglo
    183 c
    184       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    185       CALL histwrite(nid_day_seri,"evap",itau_w,
    186      .               zx_tmp_2d,iim*jjmp1,ndex2d)
    187 c
    188 c     DO i=1, klon
    189 c      zx_tmp_fi2d(i)=SnowFrac(i,is_ter)
    190 c     ENDDO
    191 c
    192 c     ok_msk=.TRUE.
    193 c     msk(1:klon)=pctsrf(1:klon,is_ter)
    194 c     CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
    195 c    .                     ok_msk, msk, moyglo)
    196 c     zx_tmp_fi2d(1:klon)=moyglo
    197 c
    198 c     CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    199 c     CALL histwrite(nid_day_seri,"SnowFrac",
    200 c    .               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    201 c
    202 c     DO i=1, klon
    203 cIM 080904    zx_tmp_fi2d(i)=zsnow_mass(i)/330.*rowl
    204 c      zx_tmp_fi2d(i)=zsnow_mass(i)
    205 c     ENDDO
    206 c
    207 cIM 140904   ok_msk=.FALSE.
    208 c     ok_msk=.TRUE.
    209 c     msk(1:klon)=pctsrf(1:klon,is_ter)
    210 c     CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
    211 c    .     ok_msk, msk, moyglo)
    212 c     zx_tmp_fi2d(1:klon)=moyglo
    213 c
    214 c     CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    215 c     CALL histwrite(nid_day_seri,"snow_depth",itau_w,
    216 c    .               zx_tmp_2d,iim*jjmp1,ndex2d)
    217 c
     167      CALL histwrite(nid_day_seri,"tamv",itau_w, &
     168                     zx_tmp_2d,iim*jjmp1,ndex2d)
     169!
     170      ok_msk=.FALSE.
     171      CALL moyglo_pondaire(klon, paprs(:,1), airephy,  &
     172           ok_msk, msk, moyglo)
     173      zx_tmp_fi2d(1:klon)=moyglo
     174!
     175      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     176      CALL histwrite(nid_day_seri,"psol",itau_w, &
     177                     zx_tmp_2d,iim*jjmp1,ndex2d)
     178!
     179      ok_msk=.FALSE.
     180      CALL moyglo_pondaire(klon, evap, airephy,  &
     181           ok_msk, msk, moyglo)
     182      zx_tmp_fi2d(1:klon)=moyglo
     183!
     184      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     185      CALL histwrite(nid_day_seri,"evap",itau_w, &
     186                     zx_tmp_2d,iim*jjmp1,ndex2d)
     187!
     188!     DO i=1, klon
     189!      zx_tmp_fi2d(i)=SnowFrac(i,is_ter)
     190!     ENDDO
     191!
     192!     ok_msk=.TRUE.
     193!     msk(1:klon)=pctsrf(1:klon,is_ter)
     194!     CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
     195!    .                     ok_msk, msk, moyglo)
     196!     zx_tmp_fi2d(1:klon)=moyglo
     197!
     198!     CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     199!     CALL histwrite(nid_day_seri,"SnowFrac",
     200!    .               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     201!
     202!     DO i=1, klon
     203!IM 080904    zx_tmp_fi2d(i)=zsnow_mass(i)/330.*rowl
     204!      zx_tmp_fi2d(i)=zsnow_mass(i)
     205!     ENDDO
     206!
     207!IM 140904   ok_msk=.FALSE.
     208!     ok_msk=.TRUE.
     209!     msk(1:klon)=pctsrf(1:klon,is_ter)
     210!     CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
     211!    .     ok_msk, msk, moyglo)
     212!     zx_tmp_fi2d(1:klon)=moyglo
     213!
     214!     CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     215!     CALL histwrite(nid_day_seri,"snow_depth",itau_w,
     216!    .               zx_tmp_2d,iim*jjmp1,ndex2d)
     217!
    218218      DO i=1, klon
    219219       zx_tmp_fi2d(i)=ftsol(i,is_oce)
    220220      ENDDO
    221 c
     221!
    222222      ok_msk=.TRUE.
    223223      msk(1:klon)=pctsrf(1:klon,is_oce)
    224       CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
    225      .     ok_msk, msk, moyglo)
    226       zx_tmp_fi2d(1:klon)=moyglo
    227 c
     224      CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,  &
     225           ok_msk, msk, moyglo)
     226      zx_tmp_fi2d(1:klon)=moyglo
     227!
    228228      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
    229       CALL histwrite(nid_day_seri,"tsol_"//clnsurf(is_oce),
    230      $               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    231 c
    232 c=================================================================
    233 c=================================================================
    234 c=================================================================
    235 c
     229      CALL histwrite(nid_day_seri,"tsol_"//clnsurf(is_oce), &
     230                     itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     231!
     232!=================================================================
     233!=================================================================
     234!=================================================================
     235!
    236236      if (ok_sync) then
    237237        call histsync(nid_day_seri)
    238238      endif
    239 c
     239!
    240240      ENDIF !fin test sur type_run.EQ."AMIP"
    241241     
Note: See TracChangeset for help on using the changeset viewer.