Ignore:
Timestamp:
Dec 14, 2015, 11:43:09 AM (9 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r2298:2396 into testing branch

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/write_histday_seri.h

    r1910 r2408  
    77!
    88      ndex2d = 0
    9       itau_w = itau_phy + itap + start_time * day_step / iphysiq
     9      itau_w = itau_phy + itap + start_time * day_step_phy
    1010!
    1111! Champs 2D:
     
    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 !
    26       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     22      CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area,  &
     23           ok_msk, msk, moyglo)
     24      zx_tmp_fi2d(1:klon)=moyglo
     25!
     26      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
    2727      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)
     28                     zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
     29!
     30      ok_msk=.FALSE.
     31      CALL moyglo_pondaire(klon, bils, cell_area,  &
     32           ok_msk, msk, moyglo)
     33      zx_tmp_fi2d(1:klon)=moyglo
     34!
     35      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
    3636      CALL histwrite(nid_day_seri,"bils",itau_w, &
    37                      zx_tmp_2d,iim*jjmp1,ndex2d)
     37                     zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
    3838!
    3939      DO k=1, klev
     
    4545!
    4646      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)
     47           cell_area, paprs, moyglo)
     48      zx_tmp_fi2d(1:klon)=moyglo
     49!
     50      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
    5151      CALL histwrite(nid_day_seri,"ecin",itau_w, &
    52                      zx_tmp_2d,iim*jjmp1,ndex2d)
     52                     zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
    5353!
    5454!IM 151004 BEG
     
    6262!
    6363      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)
     64           cell_area, paprs, moyglo)
     65      zx_tmp_fi2d(1:klon)=moyglo
     66!
     67      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
    6868      CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, &
    69                      iim*jjmp1,ndex2d)
     69                     nbp_lon*nbp_lat,ndex2d)
    7070!
    7171! friction torque
     
    7676!
    7777      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)
     78      CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area,  &
     79           ok_msk, msk, moyglo)
     80      zx_tmp_fi2d(1:klon)=moyglo
     81!
     82      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
    8383      CALL histwrite(nid_day_seri,"frictor",itau_w,zx_tmp_2d, &
    84                      iim*jjmp1,ndex2d)
     84                     nbp_lon*nbp_lat,ndex2d)
    8585!
    8686! mountain torque
    8787!
    8888!IM 190504 BEG
    89       CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn)
    90       CALL gr_fi_dyn(klev+1,klon,iim+1,jjm+1,paprs,padyn)
    91       CALL gr_fi_dyn(1,klon,iim+1,jjm+1,rlat,rlatdyn)
     89      CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,cell_area,airedyn)
     90      CALL gr_fi_dyn(klev+1,klon,nbp_lon+1,nbp_lat,paprs,padyn)
     91      CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,rlat,rlatdyn)
    9292      mountor=0.
    9393      airetot=0.
    94       DO j = 1, jjmp1
    95        DO i = 1, iim+1
    96         ij=i+(iim+1)*(j-1)
     94      DO j = 1, nbp_lat
     95       DO i = 1, nbp_lon+1
     96        ij=i+(nbp_lon+1)*(j-1)
    9797        zx_tmp(ij)=0.
    9898        DO k = 1, klev
     
    113113!
    114114!IM 190504 END
    115       zx_tmp_2d(1:iim,1:jjmp1)=mountor
     115      zx_tmp_2d(1:nbp_lon,1:nbp_lat)=mountor
    116116      CALL histwrite(nid_day_seri,"mountor",itau_w,zx_tmp_2d, &
    117                      iim*jjmp1,ndex2d)
     117                     nbp_lon*nbp_lat,ndex2d)
    118118!
    119119      ENDIF !(1.EQ.0) THEN
    120120!
    121121!
    122       CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn)
    123       CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
     122      CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,cell_area,airedyn)
     123      CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,cell_area,zx_tmp_2d)
    124124      airetot=0.
    125 !     DO j = 1, jjmp1
    126 !      DO i = 1, iim+1
    127 !       ij=i+(iim+1)*(j-1)
     125!     DO j = 1, nbp_lat
     126!      DO i = 1, nbp_lon+1
     127!       ij=i+(nbp_lon+1)*(j-1)
    128128!       DO k = 1, klev
    129129!        airetot=airetot+airedyn(i,j)
     
    134134!
    135135      DO i=1, klon
    136        airetot=airetot+airephy(i)
     136       airetot=airetot+cell_area(i)
    137137      ENDDO
    138138!     IF(itap.EQ.1) PRINT*,'airetotphy=',airetot
    139139!
    140140      airetot=0.
    141       DO j=1, jjmp1
    142        DO i=1, iim
     141      DO j=1, nbp_lat
     142       DO i=1, nbp_lon
    143143        airetot=airetot+zx_tmp_2d(i,j)
    144144       ENDDO
     
    149149!
    150150      zx_tmp_fi2d(1:klon)=aam/airetot
    151       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     151      CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
    152152      CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, &
    153                      iim*jjmp1,ndex2d)
     153                     nbp_lon*nbp_lat,ndex2d)
    154154!
    155155      zx_tmp_fi2d(1:klon)=torsfc/airetot
    156       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     156      CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
    157157      CALL histwrite(nid_day_seri,"torsfc",itau_w,zx_tmp_2d, &
    158                      iim*jjmp1,ndex2d)
     158                     nbp_lon*nbp_lat,ndex2d)
    159159!
    160160!IM 151004 END
    161161!
    162162      CALL moyglo_pondmass(klon, klev, t_seri, &
    163            airephy, paprs, moyglo)
    164       zx_tmp_fi2d(1:klon)=moyglo
    165 !
    166       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     163           cell_area, paprs, moyglo)
     164      zx_tmp_fi2d(1:klon)=moyglo
     165!
     166      CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
    167167      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)
     168                     zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
     169!
     170      ok_msk=.FALSE.
     171      CALL moyglo_pondaire(klon, paprs(:,1), cell_area,  &
     172           ok_msk, msk, moyglo)
     173      zx_tmp_fi2d(1:klon)=moyglo
     174!
     175      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
    176176      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)
     177                     zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
     178!
     179      ok_msk=.FALSE.
     180      CALL moyglo_pondaire(klon, evap, cell_area,  &
     181           ok_msk, msk, moyglo)
     182      zx_tmp_fi2d(1:klon)=moyglo
     183!
     184      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d,zx_tmp_2d)
    185185      CALL histwrite(nid_day_seri,"evap",itau_w, &
    186                      zx_tmp_2d,iim*jjmp1,ndex2d)
     186                     zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
    187187!
    188188!     DO i=1, klon
     
    192192!     ok_msk=.TRUE.
    193193!     msk(1:klon)=pctsrf(1:klon,is_ter)
    194 !     CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
     194!     CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area,
    195195!    .                     ok_msk, msk, moyglo)
    196196!     zx_tmp_fi2d(1:klon)=moyglo
    197197!
    198 !     CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     198!     CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
    199199!     CALL histwrite(nid_day_seri,"SnowFrac",
    200 !    .               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     200!    .               itau_w,zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
    201201!
    202202!     DO i=1, klon
     
    208208!     ok_msk=.TRUE.
    209209!     msk(1:klon)=pctsrf(1:klon,is_ter)
    210 !     CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
     210!     CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area,
    211211!    .     ok_msk, msk, moyglo)
    212212!     zx_tmp_fi2d(1:klon)=moyglo
    213213!
    214 !     CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     214!     CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat,zx_tmp_fi2d,zx_tmp_2d)
    215215!     CALL histwrite(nid_day_seri,"snow_depth",itau_w,
    216 !    .               zx_tmp_2d,iim*jjmp1,ndex2d)
     216!    .               zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
    217217!
    218218      DO i=1, klon
     
    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 !
    228       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
     224      CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area,  &
     225           ok_msk, msk, moyglo)
     226      zx_tmp_fi2d(1:klon)=moyglo
     227!
     228      CALL gr_fi_ecrit(1, klon,nbp_lon,nbp_lat, zx_tmp_fi2d, zx_tmp_2d)
    229229      CALL histwrite(nid_day_seri,"tsol_"//clnsurf(is_oce), &
    230                      itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     230                     itau_w,zx_tmp_2d,nbp_lon*nbp_lat,ndex2d)
    231231!
    232232!=================================================================
Note: See TracChangeset for help on using the changeset viewer.