Skip to content

Milestone: CMEPS 0.5 Appendix Graduate Student Test Evaluation Wind Stress Experiment

ceceliadid edited this page Aug 13, 2019 · 1 revision

Test II: Modifying wind stress provided by the atmosphere component

As a part of the use case, the wind stress components (taux and tauy) calculated by FV3GFS atmosphere model is decreased %50 by modifying a specific source file in the atmosphere model "cap".

###Steps to run the model

1. Create a new case

$ cd /path/to/UFSCOMP/cime/scripts
$ ./create_newcase --compset UFS_S2S --res C384_t025 --case ufs.s2s.c384_t025.tau_50 --driver nuopc --run-unsupported

2. Goto case directory and copy FV3GFS source file to the SourceMods directory

$ cd ufs.s2s.c384_t025.tau_50
$ cp ../../../components/fv3/FV3GFS/atmos_model.F90 SourceMods/src.fv3gfs/.

3. Edit atmos_model.F90 file under SourceMods/src.fv3gfs directory and modify wind stress components (u and v) as it shown below (Note: the line with + shows extra code and ! shows modifications)

diff command output:

*** ../../../components/fv3/FV3GFS/atmos_model.F90	2019-06-26 10:40:27.000000000 -0500
--- SourceMods/src.fv3gfs/atmos_model.F90	2019-06-26 16:16:46.000000000 -0500
***************
*** 1527,1533 ****
          do i=isc,iec
            nb = Atm_block%blkno(i,j)
            ix = Atm_block%ixp(i,j)
!           exportData(i,j,idx) = IPD_Data(nb)%coupling%dusfc_cpl(ix) * rtime * 0.5_IPD_kind_phys
          enddo
        enddo
      endif
***************
*** 1539,1545 ****
          do i=isc,iec
            nb = Atm_block%blkno(i,j)
            ix = Atm_block%ixp(i,j)
!           exportData(i,j,idx) = IPD_Data(nb)%coupling%dvsfc_cpl(ix) * rtime * 0.5_IPD_kind_phys
          enddo
        enddo
      endif

4. Change model parameters to make 1-hour cold start run

$ ./xmlchange DOUT_S=FALSE
$ ./xmlchange STOP_N=1
$ ./xmlchange STOP_OPTION=nhours
$ ./xmlchange RUN_REFDATE=2012-01-01
$ ./xmlchange RUN_STARTDATE=2012-01-01
$ ./xmlchange JOB_WALLCLOCK_TIME=00:30:00
$ ./xmlchange USER_REQUESTED_WALLTIME=00:30:00

5. Change ice model initial condition

Add following line to user_nl_cice

ice_ic = "$ENV{UGCSINPUTPATH}/cice5_model.res_2012010100.nc"

6. Build and run model for 1-hour

$ ./case.build
$ ./case.submit

7. After successful cold start run, 5-days warm start run can be submitted with following command.

$ ./xmlchange MEDIATOR_READ_RESTART=TRUE
$ ./xmlchange STOP_OPTION=ndays
$ ./xmlchange STOP_N=5
$ ./xmlchange JOB_WALLCLOCK_TIME=03:00:00
$ ./xmlchange USER_REQUESTED_WALLTIME=03:00:00
$ ./case.submit

###Post-processing and Analyzing Results

This section aims to introduce a set of tools to analize model results and see the difference between reference (REF; without any modification in the code) and modified (TAU_50; wind-stress provided by atmospheric model is reduced %50) simulations.

As a result of the modified wind-stress and two-way non-linear interaction among the model components, the result of the modeling system changes. The direct effect of the reduced wind-stress can be easily seen in the results of the ocean model component especially for eastern boundary upwelling regions, that is affected by boundary currents.

Analysis 1:

The first analysis is to check the wind stress sent to the ocean model component to ensure the modification of the source code explained above is working. The simple NCL scripts that could be used to create spatial difference plots can be downloaded from here.

The script needs to be slightly modified to create spatial distribution of x-component of wind-stress (taux). In this case, it is required to edit parameter section of the script (plot_2d_ocean.ncl) first as following,

...
  date1 = 2012010500 ; the date to create plot
  variable = "taux" ; variable that is used to create plot (options: SST, speed, mld, taux, tauy)
  basedir = "/scratch/01118/tg803972" ; scratch folder that stores the run
...  

The date indicates the date to create plot. In this example, 2012010500 (end of the 5-days simulation) is selected for date1 parameter but it could be changed to analyze other dates. taux is selected as a variable to create plot but it is also possible select tauy as a y-component of the wind-stress. Lastly, basedir need to be changed to point SCRATCH directory that stores the simulation results. This directory will be different and needs to be changed in your case. Note that NCL script automatically selects the correct file based on the selected option in the parameter section.

Then, case names need to be changed in the dataset section. The default script uses ufs.s2s.c384_t025.jan.jun26.ref as a nem for REF and ufs.s2s.c384_t025.jan.jun26.tau_50 for TAU_50 simulations but these might be changed to case names used in the simulations.

...
  dsets = (/ (/ "CMEPS-REF   ", basedir+"/ufs.s2s.c384_t025.jan.jun26.ref/run"   , key /), \
             (/ "CMEPS-TAU_50", basedir+"/ufs.s2s.c384_t025.jan.jun26.tau_50/run", key /) /)
...             

After these modifications, the NCL script can be run using following commands,

# Load NCL module 
# On Cheyenne: 
???
# On Stampede2:
module load ncl_ncarg/6.3.0

# Run the script
ncl plot_2d_ocean.ncl

and it will produce a pdf file (plot_2d_ocean_taux.pdf) with the output as shown in Fig. 2a.

Figure 2a: Map of x-component of wind-stress (taux, Pa) and the difference for July 2012 initial condition on 2012-01-05.

Analysis 2:

Using same NCL file, it is also possible to compare SST fields from two simulations. To do that, just change variable name from taux to SST in the script and run again. This will create following output (Fig. 2b).

Figure 2b: Map of sea surface temperature (SST, °C) and the difference for July 2012 initial condition on 2012-01-05.

As it can be seen from the figure, the SST is increased as a result of decreased wind-stress and reduced heat loss from the ocean surface (especially latent heat or evaporation component). It is also note that, the change on SST field is not uniform in all the region and it is more apparent in the eastern boundary upwelling regions and southern hemisphere.

Analysis 3:

The provided NCL script allows to create plots for different time snapshots and variables (Sea Surface Temperature [SST], Speed of Ocean Surface Current [speed], Mixed Layer Depth [mld] and Wind-Stress components [taux, tauy]). Please, modify the NCL script to look at different time and variable to see the effect of the reduced wind stress.