Ocean Modeling Discussion

ROMS/TOMS

Search for:
It is currently Mon Dec 11, 2017 4:52 pm




Post new topic Reply to topic  [ 4 posts ] 

All times are UTC

Author Message
PostPosted: Fri Jan 15, 2010 7:58 pm 
Offline

Joined: Wed Sep 27, 2006 7:23 pm
Posts: 27
Location: University of California, Santa Cruz
Hi,

I was trying to correct both initial condition and surface forcing, and I found something suspicious.
After all inner loops, it seems that the nonlinear model runs with corrected initial condition, but NOT with the corrected forcing.

Since the corrected forcing is stored in the FWDNAME file, I think the surface forcing should be taken
from FWDFILE.

That's maybe I used version 429?

Thank you.
Hajoon


Last edited by hjsong on Fri Jan 15, 2010 9:26 pm, edited 2 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 15, 2010 8:52 pm 
Offline
Site Admin
User avatar

Joined: Wed Feb 26, 2003 4:41 pm
Posts: 1017
Location: IMCS, Rutgers University
Nothing suspicious here, the code is correct :!: The surface forcing adjustments are done in frc_adjust.F by adding the appropriate 4D-Var increment. For example, for wind stress we have:
Code:
# ifdef ADJUST_WSTRESS
!
!  Adjust surface momentum stress. Interpolate between surface forcing
!  increments, if appropriate.
!
      DO j=JstrR,JendR
        DO i=Istr,IendR
          sustr(i,j)=sustr(i,j)+                                        &
     &               fac1*tl_ustr(i,j,it1,Linp)+                        &
     &               fac2*tl_ustr(i,j,it2,Linp)
        END DO
      END DO
      DO j=Jstr,JendR
        DO i=IstrR,IendR
          svstr(i,j)=svstr(i,j)+                                        &
     &               fac1*tl_vstr(i,j,it1,Linp)+                        &
     &               fac2*tl_vstr(i,j,it2,Linp)
        END DO
      END DO
# endif


So there is no need to modify the wind stress forcing. I hope that this makes sense :idea: Notice that we do the same in the tangent (tl_frc_adjust.F), representer (rp_frc_adjust.F), and adjoint (ad_frc_adjust.F) models.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 15, 2010 10:43 pm 
Offline

Joined: Wed Sep 27, 2006 7:23 pm
Posts: 27
Location: University of California, Santa Cruz
Thank you for the reply, Hernan.

The code you posted looks right.

I thought that the updated forcing variables are written in the FWDNAME if I do this
Code:
          T  Hout(idUsms)    Write out surface U-momentum stress.
          T  Hout(idVsms)    Write out surface V-momentum stress.
          T  Hout(idTsur)    Write out surface net heat flux.
          T  Hout(idSrad)    Write out shortwave radiation flux.

, and the forcing files are not touched.
This is why I thought the FWDNAME should be read for the corrected surface forcing.

But if I look into the standard output file, surface forcing variables for the last nonlinear run are from the original forcing files, for example,
Code:
    GET_2DFLD   - surface u-momentum stress,                 t = 12395 00:00:00
                  (Rec=0477, Index=1, File: daccs_wstr_roms.nc)
                   (Tmin=      12276.0000 Tmax=      12641.0000)
                   (Min =  4.26806373E-06 Max =  1.20590562E-04)
    GET_2DFLD   - surface v-momentum stress,                 t = 12395 00:00:00       
            (Rec=0477, Index=1, File: daccs_wstr_roms.nc)
                   (Tmin=      12276.0000 Tmax=      12641.0000)
                   (Min = -1.22506807E-04 Max =  1.70253751E-06)
    GET_2DFLD   - solar shortwave radiation flux,            t = 12395 00:00:00   
                (Rec=0477, Index=1, File: daccs_swrad_roms.nc)
                   (Tmin=      12276.0000 Tmax=      12641.0000)
                   (Min =  5.97417832E-05 Max =  1.27914491E-04)
    GET_2DFLD   - surface net heat flux,                     t = 12395 00:00:00   
                (Rec=0477, Index=1, File: daccs_flx_roms.nc)
                   (Tmin=      12276.0000 Tmax=      12641.0000)
                   (Min =  2.57468991E-05 Max =  9.05268686E-05)
    GET_2DFLD   - surface net freswater flux, (E-P),         t = 12395 00:00:00   
               (Rec=0477, Index=1, File: daccs_flx_roms.nc)
                   (Tmin=      12276.0000 Tmax=      12641.0000)
                   (Min = -1.09750804E-07 Max =  4.66777159E-08)
, as daccs_wstr_roms.nc, daccs_swrad_roms.nc and daccs_flx_roms.nc are original forcing files, and these are not changed after the IS4DVAR run.

Do I misunderstand this??

Or if I want to run nonlinear model with data assimilated initial condition and the surface forcing so that it matches exactly same as the last nonlinear run in the assimilation, what should I do?

Thank you.


Top
 Profile  
Reply with quote  
PostPosted: Thu Apr 29, 2010 12:12 am 
Offline

Joined: Wed Sep 27, 2006 7:23 pm
Posts: 27
Location: University of California, Santa Cruz
Dear experts,

It is not a major thing, but I found something suspicious in writing initial file when the surface forcing adjustment option is on.

If either 'ADJUST_WSTRESS' or 'ADJUST_STFLUX' is on, then the adjusted surface forcing fields are written in the initial file.

The code 'wrt_ini.F' does this, and it looks like this (from the line 558 to 564).

Code:
      status=nf_fwrite3d(ng, iNLM, ncINIid(ng), iniVid(idUsms,ng),      &
     &                   OutRec, gtype,                                 &
     &                   LBi, UBi, LBj, UBj, 1, Nfrec(ng), scale,       &
#   ifdef MASKING
     &                   GRID(ng) % umask,                              &
#   endif
     &                   FORCES(ng) % ustr(:,:,:,Tindex))


It writes 'ustr' instead of 'sustr' in the initial file.

The v-momentum stress (line 584) and the surface tracer fluxs (line 616) take 'vstr' and 'tflux' instead of 'svstr' and 'stflx', respectively.

Are there any specific reasons for this, or are they just typos?

Thank you.
Hajoon


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group