Annette Osprey

Coastal Tiling Implementation

Aim is to implement coastal tiling in MOSES 2.2 at vn4.5 of the UM. MOSES 2.2 exists as a set of mods at 4.5 and was not formally added to the UM until vn 5.2. Coastal tiling was included at vn5.3.

FAMOUS currently includes the MOSES 1 surface scheme and uses the HadCEM coupling and coastal tiling mods. MOSES 2.2 however has somewhat different boundary layer code and fractional surface types which need to be taken into account for the coastal tiling.

The plan is therefore to back-fit into FAMOUS the coastal tiling mods for MOSES 2.2 at vn5.2.

HadCEM Coupling Mods

FAMOUS coupling and coastal tiling mods (MOSES 1) derived from HadCEM coupling:

ccouple
ctile6
ctile_09_new_param
LANDTOGLOBAL          
PTOUV_LAND          
PTOUV_SEA          
UVTOP_SEA   
t20db_mod45_adb1f406

I will retain the following mods:

ccouple - coupling 
PTOUV_LAND - interpolation rotuines
PTOUV_SEA  - 

Of the other mods, ctile_09_new_param and t20db_mod45_adb1f406 ought to be replaced by the new coastal tiling; LANDTOGLOBAL and UVTOP_SEA do not seem to be required; and ctile6 is for the reconfiguration which I will leave for now.

Code from ctile_09_new_param which may need to be included, as it is not effected by MOSES 2.2 changes or replaced by the 5.2 tiling mod:

  • CLDCTL1 and ATMPHY1 - although this may be included in RADCTL2 in 5.2 mod, as incorporates code previously in CLDCTL1
  • CRADINCS and U_MODEL1
  • GWAV_CT1, GWVICT3A and GWAVE3A - gravity wave

Vn 5.2 Coastal Tiling Mods

Modsets for MOSES 2.2 coastal tiling that I am aware of:

amv1f503.mf77 - bug fixes to radiation code required for the tiles scheme in MOSES 2.2
ang0h503.mh - include files
ang0n503.mf90 - reconfiguration code
ang0f503.mf77 - surface, boundary layer and radiation code

Main modset is ang0f503.mf77.

Program Libraries

First I applied the MOSES 2.2 mods to the 4.5 umpl, to create a new program library with line sequence numbers. The libraray is in ~annette/um/4.5.umpl_moses2.2, and was created using nupdate as follows:

nupdate -p /hpcx/home/n02/n02/umx/vn4.5/source/umpl \
-i abx0f406,abx1f406,abx2f406,abx3f406,abx4f406,amv1f406,apa1f406,are1f406,\
are2f406,are3f406,newdecks.1,scatter_fix,update_m22.mdk,initveg_fix.mod \
-f \
-o um,sq \
-S \
>nupdate.out 2>&1

For each deck, a file ending in .u is produced.

Secondly, I appplied the 5.2 coastal tiling mod ang0f503.mf77 to the standard 5.2 program library. The 5.2 PUM uses pumscm:

pumscm -i ang0f503.mf77 -p 5.2.umpl -P 5.2.umpl_ctiling -F -S >pumscm.out 2>&1

The amended program library is in ~annette/um/5.2.umpl_ctiling, and contains a file ending in .dk with line sequence numbering for each deck.

The standard 5.2 library is in ~annette/um/5.2.umpl.

Back-fitting Procedure

With this information, I intend to go through the coastal tiling mod deck by deck, applying the changes to the 4.5 with MOSES 2.2 library. This will be more difficult in some cases, where the code has differed or been rearranged at vn5.2.

  • For each deck in ang0f503.mf77
    1. Take the standard 5.2 deck, the 5.2 deck with coastal tiling and the equivalent 4.5 deck(s).
    2. Remove all line numbering.
    3. Use merge to difference the 5.2 with tiling and 5.2 without, and put these changes into the 4.5 deck:
      merge -p file_4.5 file_5.2 file_5.2_tiled
      
    4. Where merge fails, go through the changes by hand. Using tkdiff if necessary to look examine files.

  • Then use nmodex to reconstruct a set of mods to be applied to the 4.5 with MOSES 2.2 program library. Eg:
    nmodex -d headerfile -e editedfile -i ident -m modfile -s sourcefile
    

In some cases this procedure should work quite well - deck FTSA1A for example contains exactly the same code at 4.5 as 5.2. In most cases, however, there will be some code to be resolved by hand, and in quite a few cases the code does not use the same deck versions. See deck table for progress.

Things to do now

Links

Contact

  • Email:
    a.osprey
  • Telephone:
    +44 (0) 118 378 5429

Page navigation