Skip to content

Add FY3C-MWHS2 radiance DA capability#797

Merged
liujake merged 4 commits intowrf-model:developfrom
weisunncar:fy3c_merge
Mar 18, 2019
Merged

Add FY3C-MWHS2 radiance DA capability#797
liujake merged 4 commits intowrf-model:developfrom
weisunncar:fy3c_merge

Conversation

@weisunncar
Copy link
Copy Markdown
Contributor

@weisunncar weisunncar commented Feb 27, 2019

TYPE:new feature

KEYWORDS: FY3C-MWHS2, Radiance, RTTOV

SOURCE: Wei Sun (NSSC,CAS/NCAR) and Jake Liu (NCAR)

DESCRIPITION OF CHANGES:

  1. Add new capability to assimilate FY3C-MWHS2 Level-1 data in HDF5 format, which can be downloaded from https://satellite.nsmc.org.cn/portalsite. Assimilation of this observation only works with RTTOV, since CRTM has no coefficients corresponding to FY3C.

  2. MWHS2 has 15 channels (1 at 89 GHz, 8 at 118.75 GHz, 1 at 150 GHz, and 5 at 183 GHz) and 98 FOVs within the swath width 2660 km. Channels 1-9's footprint is 29 km and channels 10-15's footprint is 16 km. See https://www.ecmwf.int/sites/default/files/elibrary/2015/10668-evaluation-fy-3c-mwhs-2-ecmwf.pdf and https://www.wmo-sat.info/oscar/satellites/view/115 for more detail.

  3. Sensor triplet for FY3-C-MWHS2 is (23, 3, 73). Observation file name conversion?

MODIFIED FILES:
M Registry/registry.var
M var/da/da_obs_io/da_read_y_unit.inc
A var/da/da_radiance/da_qc_mwhs2.inc
M var/da/da_radiance/da_qc_rad.inc
M var/da/da_radiance/da_radiance.f90
M var/da/da_radiance/da_radiance1.f90
M var/da/da_radiance/da_radiance_init.inc
A var/da/da_radiance/da_read_obs_hdf5mwhs2.inc
M var/da/da_radiance/da_read_pseudo_rad.inc
M var/da/da_radiance/da_setup_radiance_structures.inc
M var/da/da_radiance/module_radiance.f90
M var/da/da_setup_structures/da_setup_obs_structures.inc
M var/da/da_setup_structures/da_setup_structures.f90
M var/run/VARBC.in
A var/run/radiance_info/fy3-3-mwhs2.info

TEST CONDUCTED:

  1. WRFDA regression tests ran successfully with gnu/ifort+mpt on Cheyenne.
  2. New FY3C-MWHS2 radiance DA capability is tested on Cheyenne for 6-hour cycling DA over a 9km domain with a grid mesh of 600 x 450 x50.

TYPE:new feature

KEYWORDS: FY3C-MWHS2, Radiance, RTTOV

SOURCE: Wei Sun (NSSC,CAS/NCAR) and Jake Liu (NCAR)

DESCRIPITION OF CHANGES:
Add new capability to assimilate FY3C-MWHS2 Level-1 data in HDF5 format, which can be downloaded from https://satellite.nsmc.org.cn/portalsite. Assimilation of this observation only works with RTTOV, since CRTM has no coefficients corresponding to FY3C.

MODIFIED FILES:
	modified:   Registry/registry.var
	modified:   var/da/da_obs_io/da_read_y_unit.inc
	new file:   var/da/da_radiance/da_qc_mwhs2.inc
	modified:   var/da/da_radiance/da_qc_rad.inc
	modified:   var/da/da_radiance/da_radiance.f90
	modified:   var/da/da_radiance/da_radiance1.f90
	modified:   var/da/da_radiance/da_radiance_init.inc
	new file:   var/da/da_radiance/da_read_obs_fy3c.inc
	modified:   var/da/da_radiance/da_read_pseudo_rad.inc
	modified:   var/da/da_radiance/da_setup_radiance_structures.inc
	modified:   var/da/da_radiance/da_write_iv_rad_ascii.inc
	modified:   var/da/da_radiance/da_write_oa_rad_ascii.inc
	modified:   var/da/da_radiance/module_radiance.f90
	modified:   var/da/da_setup_structures/da_setup_obs_structures.inc
	modified:   var/da/da_setup_structures/da_setup_structures.f90
	modified:   var/run/VARBC.in
	new file:   var/run/radiance_info/fy3-3-mwhs2.info

TEST CONDUCTED:
1. WRFDA regression tests ran successfully with ifort+mpt on Cheyenne.
2. New FY3C-MWHS2 radiance DA capability is tested on Cheyenne for 6-hour cycling DA over a 9km domain with a grid mesh of 600*450*50.
@liujake
Copy link
Copy Markdown
Contributor

liujake commented Feb 27, 2019

@weimmm No need to create another PR. From now on, stop acting on this PR before I tell you what is the correct procedure to do.

Copy link
Copy Markdown
Contributor

@jjguerrette jjguerrette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few changes to be made, mostly semantic. Good work Wei.

& 'smmr ', 'ahi ', 'irs ', 'altika ', 'iasing ', &
& 'tm ', 'fci ', 'amsr1 ', 'amsr2 ', 'vissr ', &
& 'slstr '/)
& 'tm ', 'fci ', 'amsr ', 'amsr2 ', 'vissr ', &
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why change the name to amsr from amsr1? Also, where did you find the replacement names for the "spare" and "reserved" instruments? The RTTOV v12 Users Guide (March 2018) does not have them. Thanks.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found the names from the RTTOV code, which is RTTOV/src/main/rttov_const.F90. To make the name consistent with RTTOV, I copy the whole name table from the RTTOV code to the DA file here. Thanks.

! Purpose: read in FY3C MWHS2 Level-1 data in HDF5 format
! and form innovation structure
!
! METHOD: use F90 sequantial data structure to avoid read the file twice
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change to " ! METHOD: use F90 sequential data structure to avoid reading the file twice"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sentence has been changed according to your suggestion. Thanks.

real(r_kind) :: dlon_earth,dlat_earth
integer(i_kind) :: num_amsr2_local, num_amsr2_global, num_amsr2_used, num_amsr2_thinned
integer(i_kind) :: num_amsr2_used_tmp, num_amsr2_file
integer(i_kind) :: num_amsr2_local_local, num_amsr2_global_local, num_amsr2_file_local
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here and throughout, amsr2/AMSR2 needs to be changed to mwhs2/MWHS2.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the names have been changed according to your suggestion. Thanks.

write(unit=innov_rad_unit,fmt='(a)') 'RTM_level pres(mb) T(k) Q(ppmv)'
do k = 1, nlevelss
write(unit=innov_rad_unit,fmt='(i3,f10.2,f8.2,e11.4)') &
write(unit=innov_rad_unit,fmt='(i3,f10.3,f8.2,e11.4)') &
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@weimmm
The modification of f10.2 to f10.3 - is this a bug fix outside the scope of this PR? If this mod is required for this PR, does this change mean that older data is no longer supported?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davegill
This was just a clearer output for the pressure corresponding to the RTM_level in the oma files. I have changed it back to 'f10.2'. Thanks.

@davegill
Copy link
Copy Markdown
Contributor

davegill commented Mar 4, 2019

@weimmm @liujake @jjguerrette
Folks,
This seems to be put together pretty well. The PR is correctly made to develop. I am not approving this, but I do not see anything that is problematic. There is a small change to the registry for DA, and all other mods are to the DA code specifically. The commit message is clear, and the testing seems appropriate.

@liujake
Copy link
Copy Markdown
Contributor

liujake commented Mar 5, 2019

I will find time to review it. No rush to push it in.

@liujake
Copy link
Copy Markdown
Contributor

liujake commented Mar 16, 2019

@weimmm Can you also run a WRFDA Regtest with gnu+mpt on Cheyenne?

@weisunncar
Copy link
Copy Markdown
Contributor Author

weisunncar commented Mar 16, 2019 via email

@liujake
Copy link
Copy Markdown
Contributor

liujake commented Mar 16, 2019

@weimmm the file da_read_obs_fy3c.inc needs to be renamed as da_read_obs_hdf5mwhs2.inc following the naming conversion of most other observation files. I understand you followed the existing da_read_obs_fy3.inc (shall be for mwhs and mwts onboard FY3A and FY3B), which needs also to be renamed at some point (NOT in this PR). I believe the same MWHS2 sensor is also onboard the FY3D satellite. Need to make code generic to allow the assimilation of FY3D-MWHS2 as well.

@weisunncar
Copy link
Copy Markdown
Contributor Author

weisunncar commented Mar 16, 2019 via email

@liujake
Copy link
Copy Markdown
Contributor

liujake commented Mar 16, 2019

@weimmm I just ran WRFDA regtest with gnu+mpt with your fy3c branch code. It works for me. I also had some compilation issue from time to time before, but the issue seemed to be related to Cheyenne as manually recompiling WRFDA code worked. See /gpfs/fs1/work/liuz/REGTEST/README.liu for some info.

@weisunncar
Copy link
Copy Markdown
Contributor Author

weisunncar commented Mar 16, 2019 via email

TYPE:new feature

KEYWORDS: FY3C-MWHS2, Radiance, RTTOV

SOURCE: Wei Sun (NSSC,CAS/NCAR) and Jake Liu (NCAR)

DESCRIPITION OF CHANGES:
Add new capability to assimilate FY3C-MWHS2 Level-1 data in HDF5 format, which can be downloaded from https://satellite.nsmc.org.cn/portalsite. Assimilation of this observation only works with RTTOV, since CRTM has no coefficients corresponding to FY3C.

MODIFIED FILES:
	modified:   Registry/registry.var
	modified:   var/da/da_obs_io/da_read_y_unit.inc
	new file:   var/da/da_radiance/da_qc_mwhs2.inc
	modified:   var/da/da_radiance/da_qc_rad.inc
	modified:   var/da/da_radiance/da_radiance.f90
	modified:   var/da/da_radiance/da_radiance1.f90
	modified:   var/da/da_radiance/da_radiance_init.inc
	new file:   var/da/da_radiance/da_read_obs_hdf5mwhs2.inc
	modified:   var/da/da_radiance/da_read_pseudo_rad.inc
	modified:   var/da/da_radiance/da_setup_radiance_structures.inc
	modified:   var/da/da_radiance/module_radiance.f90
	modified:   var/da/da_setup_structures/da_setup_obs_structures.inc
	modified:   var/da/da_setup_structures/da_setup_structures.f90
	modified:   var/run/VARBC.in
	new file:   var/run/radiance_info/fy3-3-mwhs2.info

TEST CONDUCTED:
1. WRFDA regression tests ran successfully with ifort+mpt and gnu+mpt on Cheyenne.
2. New FY3C-MWHS2 radiance DA capability is tested on Cheyenne for 6-hour cycling DA over a 9km domain with a grid mesh of 600*450*50.
…merge

Conflicts:
	var/da/da_radiance/da_qc_mwhs2.inc
	var/da/da_radiance/da_radiance.f90
	var/da/da_radiance/da_setup_radiance_structures.inc
@weisunncar weisunncar requested a review from a team as a code owner March 18, 2019 21:00
@liujake liujake merged commit 637ecb7 into wrf-model:develop Mar 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants