Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About ROMStoWRF SST #274

Open
bwendu opened this issue Jul 1, 2024 · 2 comments
Open

About ROMStoWRF SST #274

bwendu opened this issue Jul 1, 2024 · 2 comments

Comments

@bwendu
Copy link

bwendu commented Jul 1, 2024

Hi, I'm using the coupling of wrf and roms in COAWST for my case, but the obtained sst is somewhat low. I'm confused by two points as follows.
I want to know if the SST given by ROMS to WRF is the value of the top layer of ROMS or if the sst is the first layer's temp interpolated to the sea surface before giving it to WRF (because in my case, the water depth of the first layer of ROMS cannot be approximated as the surface layer in the oceanic region).
In addition, the SST has a clear shape at the boundary of the ROMS grid because the SST outside the ROMS grid comes from wrflowinp. Is there any concatenation smoothing operation on the boundary in COAWST? If so, could you indicate the specific code location.
Looking forward to receiving any helpful reply or suggestions!

@jcwarner-usgs
Copy link
Collaborator

  1. the SST from ROMS to WRF is just the top layer in ROMS. we dont do any interpolation in space or time.

Master/mct_roms_wrf.h
!
! Sea surface temperature (degC)
!
ij=0
DO j=JstrR,JendR
DO i=IstrR,IendR
ij=ij+1
A(ij)=OCEAN(ng)%t(i,j,N(ng),nstp(ng),itemp) <------------------N(ng) is the top layer
END DO
END DO
CALL AttrVect_importRAttr (AttrVect_G(ng)%ocn2atm_AV, "SST", A, &
& Asize)

  1. I dont have any smoothing options to merge the WRF SST and the ROMS SST. IF you wanted to try something, that would be in
    WRF/frame/atm_coupler.F
    CALL AttrVect_exportRAttr (AttrVect_O(ia,io)%ocn2atm_AV, &
    & "SST", AA, Asize)
    range(1)= Large
    range(2)=-Large
    ij=0
    DO j=js,je
    DO i=is,ie
    ij=ij+1
    cff=(AA(ij)+273.15)Amask(ij)
    grid%sst(i,j)=cff+grid%sst(i,j)
    (1.0-Amask(ij))
    range(1)=MIN(range(1),cff)
    range(2)=MAX(range(2),cff)
    END DO
    END DO

that is where we add the wrf + roms sst.
the Amask=1 were roms is, and Amask =0 where roms is not.
this allows distinction to only replace WRF sst with roms data where ever roms is.

maybe the edges of this amask could be feathered? 0 0.25 0.5 0.75 ...
?

@bwendu
Copy link
Author

bwendu commented Jul 2, 2024

prof John, really thanks for your timely reply, i got that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants