Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cloud processing change and update release notes #25

Merged
merged 1 commit into from
Mar 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions release_notes_v5.0.12
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
Release Notes: RAP v5.0.12

v5.0.12 - released February 16, 2022
* Crisis fix to address an issue with the smoke pre-processing job. The current RAP smoke is missing all of the MODIS detections due to the upstream MODIS file name convention change.

v5.0.12 - released March 9, 2022
* Crisis fix to address two issues related to the smoke and cloud pre-processing jobs.
* The current RAP smoke is missing all of the MODIS detections due to the upstream MODIS file name convention change. A source code change is required to read in the correct files.
* When processing NASA cloud observations, the code first reads in the observation time. The time is a 32-bit integer, and starting with the beginning of 2022, the integer lies outside the range of values that 32-bit can represent, resulting in the NASA cloud products not being used. To fix the issue, several integers are changed from 32-bit to 64-bit so the observation time is correctly represented.

* Repository Details
* Clone the rap.v5.0.12 branch of the RAP GitHub repository using the following command:
Expand All @@ -13,19 +14,20 @@ v5.0.12 - released February 16, 2022
* sorc/rap_prep_smoke.fd/process-obs/HRRR-AK-Smoke/src/proc_MODIS_FRP_HRRR-AK.f90
* sorc/rap_prep_smoke.fd/process-obs/HRRR-Smoke/src/proc_MODIS_FRP_HRRR_v3.f90
* sorc/rap_prep_smoke.fd/process-obs/RAP-Smoke/src/proc_MODIS_FRP_RAP_v3.f90
* sorc/rap_process_cloud.fd/process_NASALaRC_cloud.f90


* resource changes
* N/A


* implementation instructions
* Retrieve the new sorc files and re-compile the rap_prep_smoke source code
* Retrieve the new sorc files and re-compile the rap_prep_smoke and rap_process_cloud source codes
* Retrieve the following files from the rap.v5.0.11 package (not stored in GitHub repository):
* fix/
* parm/rap_gtg.config
* parm/rap_QNWFA_QNIFA_Monthly_GFS
* parm/rap_run_*
* sorc/rap_wrfpost.fd/gtg_*.f90
* sorc/rap_wrfpost.fd/map_routines.f90
* Testing should include running the prep_smoke job. A full cycle test is not needed.
* Testing should include running the prep_smoke and process_cloud jobs. A full cycle test is not needed.
16 changes: 8 additions & 8 deletions sorc/rap_process_cloud.fd/process_NASALaRC_cloud.f90
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ program process_NASALaRC_cloud
Integer nf_status,nf_fid,nf_vid

integer :: NCID
integer(i_kind) :: east_time, west_time
integer(8) :: east_time, west_time
integer :: isat, maxobs,numobs

integer :: status
Expand Down Expand Up @@ -515,11 +515,11 @@ subroutine read_NASALaRC_cloud_bufr(satfile,atime,satidgoeseast,satidgoeswest,ea
!SATID
integer,intent(in) :: satidgoeswest
integer,intent(in) :: satidgoeseast
integer(i_kind),intent(in) :: east_time, west_time
integer(8),intent(in) :: east_time, west_time

INTEGER,intent(in) :: maxobs! dimension
INTEGER,intent(out) :: numobs ! dimension
INTEGER(i_kind) :: obs_time
INTEGER(8) :: obs_time
REAL*8 time_offset
REAL*4 lat ( maxobs)
REAL*4 lon ( maxobs)
Expand Down Expand Up @@ -550,7 +550,7 @@ subroutine read_NASALaRC_cloud_bufr(satfile,atime,satidgoeseast,satidgoeswest,ea
nmsg=nmsg+1
sb_report: do while (ireadsb(unit_in) == 0)
call ufbint(unit_in,hdr,7,1,iret,hdstr)
obs_time=int((hdr(1)-2000.0)*100000000+hdr(2)*1000000+hdr(3)*10000+hdr(4)*100+hdr(5))
obs_time=(hdr(1)-2000.0_8)*100000000.0_8+hdr(2)*1000000.0_8+hdr(3)*10000.0_8+hdr(4)*100.0_8+hdr(5)
satid=int(hdr(7))
if( (obs_time == east_time .and. satid==satidgoeseast ) .or. &
(obs_time == west_time .and. satid==satidgoeswest ) ) then
Expand Down Expand Up @@ -667,15 +667,15 @@ subroutine read_NASALaRC_cloud_bufr_survey(satfile,satidgoeseast,satidgoeswest,e
!SATID
integer,intent(in) :: satidgoeswest
integer,intent(in) :: satidgoeseast
integer(i_kind),intent(out) :: east_time, west_time
integer(8),intent(out) :: east_time, west_time
integer,intent(out) :: maxobs

INTEGER :: numobs ! dimension
INTEGER(i_kind) :: obs_time
INTEGER(8) :: obs_time
REAL*8 time_offset

INTEGER(i_kind),parameter :: max_obstime=30
integer(i_kind) :: num_obstime_all(max_obstime)
integer(8) :: num_obstime_all(max_obstime)
integer(i_kind) :: num_subset_all(max_obstime)
integer(i_kind) :: num_obstime_hh(max_obstime)
integer(i_kind) :: num_satid(max_obstime)
Expand Down Expand Up @@ -705,7 +705,7 @@ subroutine read_NASALaRC_cloud_bufr_survey(satfile,satidgoeseast,satidgoeswest,e
nmsg=nmsg+1
sb_report: do while (ireadsb(unit_in) == 0)
call ufbint(unit_in,hdr,7,1,iret,hdstr)
obs_time=int((hdr(1)-2000.0)*100000000+hdr(2)*1000000+hdr(3)*10000+hdr(4)*100+hdr(5))
obs_time=(hdr(1)-2000.0_8)*100000000.0_8+hdr(2)*1000000.0_8+hdr(3)*10000.0_8+hdr(4)*100.0_8+hdr(5)
hhh=int(hdr(5))
ntb=ntb+1
satid=int(hdr(7))
Expand Down