Changeset 4558 for palm/trunk/SOURCE/radiation_model_mod.f90
- Timestamp:
- Jun 10, 2020 4:27:30 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r4555 r4558 28 28 ! ----------------- 29 29 ! $Id$ 30 ! Bugfix: - reset RTM output average values after each averaging timestep to zero 31 ! - correct calculation of rtm_rad_net_av 32 ! 33 ! 4555 2020-06-05 21:52:00Z moh.hefny 30 34 ! Bugfix in averaging PC and MRT related quantities 31 35 ! … … 9982 9986 IF ( .NOT. ALLOCATED(surfradnet_av) ) THEN 9983 9987 ALLOCATE( surfradnet_av(nsurfl) ) 9984 surfradnet_av = 0.0_wp9985 9988 ENDIF 9989 surfradnet_av = 0.0_wp 9986 9990 9987 9991 CASE ( 'rtm_rad_insw' ) … … 9989 9993 IF ( .NOT. ALLOCATED(surfinsw_av) ) THEN 9990 9994 ALLOCATE( surfinsw_av(nsurfl) ) 9991 surfinsw_av = 0.0_wp9992 9995 ENDIF 9996 surfinsw_av = 0.0_wp 9993 9997 9994 9998 CASE ( 'rtm_rad_inlw' ) … … 9996 10000 IF ( .NOT. ALLOCATED(surfinlw_av) ) THEN 9997 10001 ALLOCATE( surfinlw_av(nsurfl) ) 9998 surfinlw_av = 0.0_wp9999 10002 ENDIF 10003 surfinlw_av = 0.0_wp 10000 10004 10001 10005 CASE ( 'rtm_rad_inswdir' ) … … 10003 10007 IF ( .NOT. ALLOCATED(surfinswdir_av) ) THEN 10004 10008 ALLOCATE( surfinswdir_av(nsurfl) ) 10005 surfinswdir_av = 0.0_wp10006 10009 ENDIF 10010 surfinswdir_av = 0.0_wp 10007 10011 10008 10012 CASE ( 'rtm_rad_inswdif' ) … … 10010 10014 IF ( .NOT. ALLOCATED(surfinswdif_av) ) THEN 10011 10015 ALLOCATE( surfinswdif_av(nsurfl) ) 10012 surfinswdif_av = 0.0_wp10013 10016 ENDIF 10017 surfinswdif_av = 0.0_wp 10014 10018 10015 10019 CASE ( 'rtm_rad_inswref' ) … … 10017 10021 IF ( .NOT. ALLOCATED(surfinswref_av) ) THEN 10018 10022 ALLOCATE( surfinswref_av(nsurfl) ) 10019 surfinswref_av = 0.0_wp10020 10023 ENDIF 10024 surfinswref_av = 0.0_wp 10021 10025 10022 10026 CASE ( 'rtm_rad_inlwdif' ) … … 10024 10028 IF ( .NOT. ALLOCATED(surfinlwdif_av) ) THEN 10025 10029 ALLOCATE( surfinlwdif_av(nsurfl) ) 10026 surfinlwdif_av = 0.0_wp10027 10030 ENDIF 10031 surfinlwdif_av = 0.0_wp 10028 10032 10029 10033 CASE ( 'rtm_rad_inlwref' ) … … 10031 10035 IF ( .NOT. ALLOCATED(surfinlwref_av) ) THEN 10032 10036 ALLOCATE( surfinlwref_av(nsurfl) ) 10033 surfinlwref_av = 0.0_wp10034 10037 ENDIF 10038 surfinlwref_av = 0.0_wp 10035 10039 10036 10040 CASE ( 'rtm_rad_outsw' ) … … 10038 10042 IF ( .NOT. ALLOCATED(surfoutsw_av) ) THEN 10039 10043 ALLOCATE( surfoutsw_av(nsurfl) ) 10040 surfoutsw_av = 0.0_wp10041 10044 ENDIF 10045 surfoutsw_av = 0.0_wp 10042 10046 10043 10047 CASE ( 'rtm_rad_outlw' ) … … 10051 10055 IF ( .NOT. ALLOCATED(surfins_av) ) THEN 10052 10056 ALLOCATE( surfins_av(nsurfl) ) 10053 surfins_av = 0.0_wp10054 10057 ENDIF 10058 surfins_av = 0.0_wp 10055 10059 10056 10060 CASE ( 'rtm_rad_reslw' ) … … 10058 10062 IF ( .NOT. ALLOCATED(surfinl_av) ) THEN 10059 10063 ALLOCATE( surfinl_av(nsurfl) ) 10060 surfinl_av = 0.0_wp10061 10064 ENDIF 10065 surfinl_av = 0.0_wp 10062 10066 10063 10067 CASE ( 'rtm_rad_pc_inlw' ) … … 10072 10076 IF ( .NOT. ALLOCATED(pcbinsw_av) ) THEN 10073 10077 ALLOCATE( pcbinsw_av(1:npcbl) ) 10074 pcbinsw_av = 0.0_wp10075 10078 ENDIF 10079 pcbinsw_av = 0.0_wp 10076 10080 10077 10081 CASE ( 'rtm_rad_pc_inswdir' ) … … 10079 10083 IF ( .NOT. ALLOCATED(pcbinswdir_av) ) THEN 10080 10084 ALLOCATE( pcbinswdir_av(1:npcbl) ) 10081 pcbinswdir_av = 0.0_wp10082 10085 ENDIF 10086 pcbinswdir_av = 0.0_wp 10083 10087 10084 10088 CASE ( 'rtm_rad_pc_inswdif' ) … … 10086 10090 IF ( .NOT. ALLOCATED(pcbinswdif_av) ) THEN 10087 10091 ALLOCATE( pcbinswdif_av(1:npcbl) ) 10088 pcbinswdif_av = 0.0_wp10089 10092 ENDIF 10093 pcbinswdif_av = 0.0_wp 10090 10094 10091 10095 CASE ( 'rtm_rad_pc_inswref' ) … … 10093 10097 IF ( .NOT. ALLOCATED(pcbinswref_av) ) THEN 10094 10098 ALLOCATE( pcbinswref_av(1:npcbl) ) 10095 pcbinswref_av = 0.0_wp10096 10099 ENDIF 10100 pcbinswref_av = 0.0_wp 10097 10101 10098 10102 CASE ( 'rtm_mrt_sw' ) … … 10334 10338 DO isurf = dirstart(ids), dirend(ids) 10335 10339 IF ( surfl(id,isurf) == idsint_u .OR. surfl(id,isurf) == idsint_l ) THEN 10336 surfradnet_av(isurf) = surfinsw(isurf) - surfoutsw(isurf) + surfinlw(isurf) - surfoutlw(isurf) 10340 surfradnet_av(isurf) = surfradnet_av(isurf) + & 10341 surfinsw(isurf) - surfoutsw(isurf) + & 10342 surfinlw(isurf) - surfoutlw(isurf) 10337 10343 ENDIF 10338 10344 ENDDO … … 10629 10635 DO isurf = dirstart(ids), dirend(ids) 10630 10636 IF ( surfl(id,isurf) == idsint_u .OR. surfl(id,isurf) == idsint_l ) THEN 10631 surfradnet_av(isurf) = surf insw_av(isurf) / REAL( average_count_3d, kind=wp )10637 surfradnet_av(isurf) = surfradnet_av(isurf) / REAL( average_count_3d, kind=wp ) 10632 10638 ENDIF 10633 10639 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.