Opened 6 years ago

Closed 5 years ago

#550 closed task (fixed)

Integrate hydrostatic equation only from second-most top level and down [1 d]

Reported by: Ian Culverwell Owned by: Ian Culverwell
Priority: normal Milestone: ROPP9.1 carry over
Component: ropp_fm Version: 9.0
Keywords: Cc:

Description

Attachments (1)

Tdry_diffs.png (38.8 KB ) - added by Ian Culverwell 5 years ago.
Tdry_diffs.png

Download all attachments as: .zip

Change history (9)

comment:1 by Ian Culverwell, 6 years ago

Component: ROPP(all)ropp_fm

comment:2 by Ian Culverwell, 5 years ago

Discussed this with Sean. We can probably accept this change, because it just involves the generation of a diagnostic from the forward-modelled refractivity. It doesn't affect the state vector, and no-one is going to try to retrieve dry temperatures based on this code. (We hope. If they did want to do so they would have to extend the state vector to include Tdry.) But as a general rule, we should insist that any changes to the forward model MUST be accompanied by corresponding changes to the TL and AD codes. At least, until we have an ROPP FM_simulation module, to go along with the existing effective FM_assimilation module.

comment:3 by Ian Culverwell, 5 years ago

(That comment should have been attached to #543 - I wondered where it had gone! It still applies to this ticket, however.)

comment:4 by Ian Culverwell, 5 years ago

Implemented this OK. The change in the integration method alters the Tdry enough that it fails the automatic tests:

************************** SUMMARY OF ROPP_FM TEST RESULTS ***************************
--------------------------------------------------------------------------------------
|                   Test name    |              Description       |    Run? |  PASS? |
--------------------------------------------------------------------------------------
|                     t_fascod_1 |                   FM FASCOD 1D |     Run |  PASS  |
|                  t_fascod_tl_1 |                FM_TL FASCOD 1D |     Run |  PASS  |
|                  t_fascod_ad_1 |                FM_AD FASCOD 1D |     Run |  PASS  |
|                     t_fascod_2 |             FM FASCOD 1D -comp |     Run |  PASS  |
|                  t_fascod_tl_2 |          FM_TL FASCOD 1D -comp |     Run |  PASS  |
|                  t_fascod_ad_2 |          FM_AD FASCOD 1D -comp |     Run |  PASS  |
|                     t_fascod_3 |           FM FASCOD 1D -new_op |     Run |  PASS  |
|                  t_fascod_tl_3 |        FM_TL FASCOD 1D -new_op |     Run |  PASS  |
|                  t_fascod_ad_3 |        FM_AD FASCOD 1D -new_op |     Run |  PASS  |
|                     t_fascod_4 |     FM FASCOD 1D -comp -new_op |     Run |  PASS  |
|                  t_fascod_tl_4 |  FM_TL FASCOD 1D -comp -new_op |     Run |  PASS  |
|                  t_fascod_ad_4 |  FM_AD FASCOD 1D -comp -new_op |     Run |  PASS  |
|                     t_twodop_1 |                        FM TWOD |     Run |  PASS  |
|                     t_twodtl_1 |                     FM_TL TWOD |     Run |  PASS  |
|                     t_twodad_1 |                     FM_AD TWOD |     Run |  PASS  |
|                     t_twodop_2 |                  FM TWOD -comp |     Run |  PASS  |
|                     t_twodtl_2 |               FM_TL TWOD -comp |     Run |  PASS  |
|                     t_twodad_2 |               FM_AD TWOD -comp |     Run |  PASS  |
|                       t_iono_1 |                   FM L1 and L2 |     Run |  PASS  |
|                    t_iono_tl_1 |                FM_TL L1 and L2 |     Run |  PASS  |
|                    t_iono_ad_1 |                FM_AD L1 and L2 |     Run |  PASS  |
|                      t_fm_1D_1 |         FM 1D; default options |     Run | *FAIL* |
|                      t_fm_1D_2 |        FM 1D; compress factors |     Run | *FAIL* |
|                      t_fm_2D_1 |         FM 2D; default options |     Run |  PASS  |
|                      t_fm_2D_2 |        FM 2D; compress factors |     Run |  PASS  |
|                    t_fm_iono_1 |             FM iono; L_neutral |     Run | *FAIL* |
|                    t_fm_iono_2 |             FM iono; L1 and L2 |     Run | *FAIL* |
--------------------------------------------------------------------------------------

because, for example,

Running t_fm_1D_1 (FM 1D; default options) ...

----------------------------------------------------------------------
                     ROPP FM File Comparison Tool
----------------------------------------------------------------------

INFO (from ropp_fm_compare):  Comparing ropp_fm_bgr20090401.nc and ../data/ropp_fm_bgr20090401_reference.nc:
   the results of running test t_fm_1D_1 (FM 1D; default options)
 
ERROR (from ropp_io_fields_compare):  Profile 1 Lev2a%dry_temp values ARE significantly different: |diff| =                 4.45755E-01 >  1.00000E-06
INFO (from ropp_fm_compare):  Differences occurred in profile 1
 
ERROR (from ropp_io_fields_compare):  Profile 2 Lev2a%dry_temp values ARE significantly different: |diff| =                 5.18096E-01 >  1.00000E-06
INFO (from ropp_fm_compare):  Differences occurred in profile 2
 
ERROR (from ropp_io_fields_compare):  Profile 3 Lev2a%dry_temp values ARE significantly different: |diff| =                 5.16023E-01 >  1.00000E-06
INFO (from ropp_fm_compare):  Differences occurred in profile 3
 
ERROR (from ropp_io_fields_compare):  Profile 4 Lev2a%dry_temp values ARE significantly different: |diff| =                 5.15495E-01 >  1.00000E-06
INFO (from ropp_fm_compare):  Differences occurred in profile 4
 
ERROR (from ropp_io_fields_compare):  Profile 5 Lev2a%dry_temp values ARE significantly different: |diff| =                 5.59662E-01 >  1.00000E-06
INFO (from ropp_fm_compare):  Differences occurred in profile 5
INFO (from ropp_fm_compare):  5 elements of ropp_fm_bgr20090401.nc and ../data/ropp_fm_bgr20090401_reference.nc differ significantly
****************************
********** *FAIL* **********
****************************
... examine t_fm_1D_1.log for details

by Ian Culverwell, 5 years ago

Attachment: Tdry_diffs.png added

Tdry_diffs.png

comment:5 by Ian Culverwell, 5 years ago

The differences are not negligible. Here are the diffs in Tdry between ropp_fm_bgr20090401.nc and ../data/ropp_fm_bgr20090401_reference.nc:

Tdry_diffs.png

Up to 0.5 K near the top - showing again how sensitive Tdry is to variations in refractivity or integration scheme.

comment:6 by Ian Culverwell, 5 years ago

This is the sort of difference I'd expect to see, so just update the reference files and commit change at r5954.

comment:7 by Ian Culverwell, 5 years ago

(I still don't understand the need for

  !--- above model top
  DO i=1,SIZE(y%geop)
    IF (y%geop(i) > x%geop(x%n_lev)) THEN
      tdry(i) = x%temp(x%n_lev) ! gtop*Hscale/R_dry
    ENDIF
  ENDDO

when it's followed by

  DO i=1,SIZE(y%geop)
    IF ( (y%geop(i) < x%geop(1)) .OR. (y%geop(i) > x%geop(x%n_lev)) ) THEN
      tdry(i) = ropp_MDFV
    ENDIF
  ENDDO

See #549. But it doesn't do any harm, so leave it in.)

comment:8 by Ian Culverwell, 5 years ago

Resolution: fixed
Status: newclosed

Closing ticket.

Note: See TracTickets for help on using tickets.