Changeset 57 in lmdz_wrf


Ignore:
Timestamp:
Jul 23, 2014, 5:47:38 PM (10 years ago)
Author:
lfita
Message:

Adding for checking qw_tot, ql_tot, qs_tot, ec_tot

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/LMDZ_WRFmeas/WRFV3/lmdz/diagphy_mod.F90

    r56 r57  
    704704      END IF
    705705
    706       IF (qs_tot .NE. qs_tot .OR. ABS(qs_tot) > largest) THEN
    707         PRINT *,TRIM(errmsg)
    708         PRINT *,'  ' // TRIM(fname) // ': Wrong qs_tot= ',qs_tot,' !!!'
    709         PRINT *,'    qs: total mass of solid watter (kg/m2)'
    710         PRINT *,'    qs = zqs_col(i)*airephy(i)'
     706      IF (qw_tot .NE. qw_tot .OR. ABS(qw_tot) > largest) THEN
     707        PRINT *,TRIM(errmsg)
     708        PRINT *,'  ' // TRIM(fname) // ': Wrong qw_tot= ',qw_tot,' !!!'
     709        PRINT *,'    qw_tot: total mass of watter vapour (kg/m2)'
     710        PRINT *,'    qw_tot = f(q,ql,qs,airephy,t,paprs)'
    711711        varname = 'airephy'
    712712        CALL check_var(fname, varname, airephy, klon, largest*10.e5, .FALSE.)
    713         varname = 'zqs_col'
    714         CALL check_var(fname, varname, zqs_col, klon, largest*10.e5, .FALSE.)
    715         STOP
    716       END IF
     713        varname = 'q'
     714        CALL check_var3D(fname, varname, q, klon, klev, largest, .FALSE.)
     715        varname = 'ql'
     716        CALL check_var3D(fname, varname, ql, klon, klev, largest, .FALSE.)
     717        varname = 'qs'
     718        CALL check_var3D(fname, varname, qs, klon, klev, largest, .FALSE.)
     719        varname = 't'
     720        CALL check_var3D(fname, varname, t, klon, klev, largest, .FALSE.)
     721        varname = 'paprs'
     722        CALL check_var3D(fname, varname, paprs, klon, klev, largest, .FALSE.)
     723        STOP
     724      END IF
     725
     726      IF (ql_tot .NE. ql_tot .OR. ABS(ql_tot) > largest) THEN
     727        PRINT *,TRIM(errmsg)
     728        PRINT *,'  ' // TRIM(fname) // ': Wrong ql_tot= ',ql_tot,' !!!'
     729        PRINT *,'    ql_tot: total mass of liquid watter (kg/m2)'
     730        PRINT *,'    ql_tot = f(ql,airephy,t,paprs)'
     731        varname = 'airephy'
     732        CALL check_var(fname, varname, airephy, klon, largest*10.e5, .FALSE.)
     733        varname = 'ql'
     734        CALL check_var3D(fname, varname, ql, klon, klev, largest, .FALSE.)
     735        varname = 't'
     736        CALL check_var3D(fname, varname, t, klon, klev, largest, .FALSE.)
     737        varname = 'paprs'
     738        CALL check_var3D(fname, varname, paprs, klon, klev, largest, .FALSE.)
     739        STOP
     740      END IF
     741
     742      IF (qs_tot .NE. qs_tot .OR. ABS(qs_tot) > largest) THEN
     743        PRINT *,TRIM(errmsg)
     744        PRINT *,'  ' // TRIM(fname) // ': Wrong qs_tot= ',qs_tot,' !!!'
     745        PRINT *,'    qs_tot: total mass of solid watter (kg/m2)'
     746        PRINT *,'    qs_tot = f(qs,airephy,t,paprs)'
     747        varname = 'airephy'
     748        CALL check_var(fname, varname, airephy, klon, largest*10.e5, .FALSE.)
     749        varname = 'qs'
     750        CALL check_var3D(fname, varname, qs, klon, klev, largest, .FALSE.)
     751        varname = 't'
     752        CALL check_var3D(fname, varname, t, klon, klev, largest, .FALSE.)
     753        varname = 'paprs'
     754        CALL check_var3D(fname, varname, paprs, klon, klev, largest, .FALSE.)
     755        STOP
     756      END IF
     757
     758      IF (ec_tot .NE. ec_tot .OR. ABS(ec_tot) > largest) THEN
     759        PRINT *,TRIM(errmsg)
     760        PRINT *,'  ' // TRIM(fname) // ': Wrong ec_tot= ',ec_tot,' !!!'
     761        PRINT *,'    ec_tot: total cinetic energy (kg/m2)'
     762        PRINT *,'    ec_tot = f(u,v,airephy,t,paprs)'
     763        varname = 'airephy'
     764        CALL check_var(fname, varname, airephy, klon, largest*10.e5, .FALSE.)
     765        varname = 'u'
     766        CALL check_var3D(fname, varname, u, klon, klev, largest, .FALSE.)
     767        varname = 'v'
     768        CALL check_var3D(fname, varname, v, klon, klev, largest, .FALSE.)
     769        varname = 't'
     770        CALL check_var3D(fname, varname, t, klon, klev, largest, .FALSE.)
     771        varname = 'paprs'
     772        CALL check_var3D(fname, varname, paprs, klon, klev, largest, .FALSE.)
     773        STOP
     774      END IF
     775
    717776      RETURN
     777
    718778      END SUBROUTINE diagetpq
    719779
Note: See TracChangeset for help on using the changeset viewer.