Ignore:
Timestamp:
Jan 9, 2019, 3:27:41 PM (6 years ago)
Author:
aslmd
Message:

fix a bug in mesoscale+generic because, unlike Mars models, surface roughness is not an array

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MESOSCALE/LMD_MM_MARS/SRC/WRFV2/phys/dynphy_wrf_generic_lmd_new/update_inputs_physiq_mod.F

    r2058 r2061  
    378378     ! Variable surface roughness !
    379379     !----------------------------!
    380 
    381      !----------------------------!
    382      ! Variable surface roughness !
    383      !----------------------------!
    384      IF (JULYR .ne. 9999) THEN
    385       IF (CST_Z0 == 0) THEN
    386        z0(subs) = M_Z0(i,j)
    387       ELSE
    388        z0(subs) = CST_Z0
    389        IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** SET CONSTANT SURF ROUGHNESS (m) ',CST_Z0
    390       ENDIF
    391      ELSE
    392       IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** IDEALIZED SIMULATION z0 (m) ', CST_Z0
    393       z0(subs)=CST_Z0
    394      ENDIF
    395      !!!! ADDITIONAL SECURITY. THIS MIGHT HAPPEN WITH OLD INIT FILES.
    396      IF (z0(subs) == 0.) THEN
    397        IF ( (i == ips) .AND. (j == jps) ) PRINT *, 'WELL, z0 is 0, this is no good. Setting to old defaults value 0.01 m'
    398        z0(subs) = 0.01
    399      ENDIF
    400      !!!! ADDITIONAL SECURITY. INTERP+SMOOTH IN GEOGRID MIGHT YIELD NEGATIVE Z0 !!!
    401      IF (z0(subs) < 0.) THEN
    402        PRINT *, 'WELL, z0 is NEGATIVE, this is impossible. better stop here.'
    403        PRINT *, 'advice --> correct interpolation / smoothing of z0 in WPS'
    404        PRINT *, '           -- or check the constant value set in namelist.input'
    405        STOP
    406      ENDIF
     380     z0 = CST_Z0
     381     !IF (JULYR .ne. 9999) THEN
     382     ! IF (CST_Z0 == 0) THEN
     383     !  z0(subs) = M_Z0(i,j)
     384     ! ELSE
     385     !  z0(subs) = CST_Z0
     386     !  IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** SET CONSTANT SURF ROUGHNESS (m) ',CST_Z0
     387     ! ENDIF
     388     !ELSE
     389     ! IF ( (i == ips) .AND. (j == jps) ) PRINT *,'** Mars ** IDEALIZED SIMULATION z0 (m) ', CST_Z0
     390     ! z0(subs)=CST_Z0
     391     !ENDIF
     392     !!!!! ADDITIONAL SECURITY. THIS MIGHT HAPPEN WITH OLD INIT FILES.
     393     !IF (z0(subs) == 0.) THEN
     394     !  IF ( (i == ips) .AND. (j == jps) ) PRINT *, 'WELL, z0 is 0, this is no good. Setting to old defaults value 0.01 m'
     395     !  z0(subs) = 0.01
     396     !ENDIF
     397     !!!!! ADDITIONAL SECURITY. INTERP+SMOOTH IN GEOGRID MIGHT YIELD NEGATIVE Z0 !!!
     398     !IF (z0(subs) < 0.) THEN
     399     !  PRINT *, 'WELL, z0 is NEGATIVE, this is impossible. better stop here.'
     400     !  PRINT *, 'advice --> correct interpolation / smoothing of z0 in WPS'
     401     !  PRINT *, '           -- or check the constant value set in namelist.input'
     402     !  STOP
     403     !ENDIF
    407404
    408405     !-----------------------------------------------!
Note: See TracChangeset for help on using the changeset viewer.