SST relaxation
SST relaxation
Suppose I want to relax the model SST to a pre-arranged SST netcdf file over a relaxation time scale of T days. How do I do it in ROMS ?
Re: SST relaxation
I would search on the string QCORRECTION in the code since that is more or less what that option is for. You can provide ANA_DQDSST for the timescale.
Re: SST relaxation
Thanks for the mail Kate. I am however a little confused. Do you mean to say that I need to get into the code and modify ? If I switch on QCORRECTION, where does the model get SST from ( roms_frc.nc ?? ).
Please correct me if I am wrong. In order to relax the model SST to some SST, I need to do the following changes
1) Switch on QCORRECTION & ANA_SST in the *.h file.
2) Replace the SST from roms_frc.nc to that prescribed SST to which one wants to relax the model.
I searched for ANA_DQDSST in roms3.6. I didn't find it. Can you please be a little more specific about setting the relaxation time scale ?
Please correct me if I am wrong. In order to relax the model SST to some SST, I need to do the following changes
1) Switch on QCORRECTION & ANA_SST in the *.h file.
2) Replace the SST from roms_frc.nc to that prescribed SST to which one wants to relax the model.
I searched for ANA_DQDSST in roms3.6. I didn't find it. Can you please be a little more specific about setting the relaxation time scale ?
Re: SST relaxation
You could look at a modern version, where ANA_DQDSST sets the dqdt variable used in set_vbc.F:
Code: Select all
# ifdef QCORRECTION
!
!-----------------------------------------------------------------------
! Add in flux correction to surface net heat flux (degC m/s).
!-----------------------------------------------------------------------
!
! Add in net heat flux correction.
!
DO j=JstrR,JendR
DO i=IstrR,IendR
stflx(i,j,itemp)=stflx(i,j,itemp)+ &
& dqdt(i,j)*(t(i,j,N(ng),nrhs,itemp)-sst(i,j))
END DO
END DO
# endif
Re: SST relaxation
If I understand correctly, then to relax SST, we need to do flux correction by switching on QCORRECTION. This is done by using dQdsst which is kinematic surface net heat flux sensitivity to SST. How good it is to use monthly climatological dqdsst computed from other climatological variables like wind speed, specific humidity etc ? Do you instead recommend to compute daily dqdsst and feed it to the model ?
Re: SST relaxation
Greetings,
check this thread
viewtopic.php?f=14&t=3066
it's very helpful, especially Hernan's post. I think answers a part
of your question.
Giannis
check this thread
viewtopic.php?f=14&t=3066
it's very helpful, especially Hernan's post. I think answers a part
of your question.
Giannis
Re: SST relaxation
In the ana_dqdsst file, I can modify the timescale of SST relaxation as seen below.
#ifdef MY_APPLICATION
fac=day2sec/30*1.0_r8 ! 30 day relaxation scale 1/s/decC
DO j=JstrT,JendT
DO i=IstrT,IendT
dqdt(i,j)=fac*Hz(i,j,N(ng))
END DO
END DO
#else
If I want a one-day relaxation ( strong ), then I just need to replace 30 by 1. Right ?
But what option in the *.h file makes sure that the model reads ana_dqdsst.h when QCORRECTION is ON. Also it seems that I will have to define MY_APPLICATION in the *.h file to get the time scale right. Am I correct ?
#ifdef MY_APPLICATION
fac=day2sec/30*1.0_r8 ! 30 day relaxation scale 1/s/decC
DO j=JstrT,JendT
DO i=IstrT,IendT
dqdt(i,j)=fac*Hz(i,j,N(ng))
END DO
END DO
#else
If I want a one-day relaxation ( strong ), then I just need to replace 30 by 1. Right ?
But what option in the *.h file makes sure that the model reads ana_dqdsst.h when QCORRECTION is ON. Also it seems that I will have to define MY_APPLICATION in the *.h file to get the time scale right. Am I correct ?
Re: SST relaxation
YesIf I want a one-day relaxation ( strong ), then I just need to replace 30 by 1. Right ?
It's ANA_DQDSST.But what option in the *.h file makes sure that the model reads ana_dqdsst.h when QCORRECTION is ON.
I tend to edit the ana_xxx.h file to have #ifdef ARCTIC or #ifdef BERING, whatever the application du jour is. Or delete the check and just put the ana_xxx.h file in the appropriate directory for that case.I will have to define MY_APPLICATION in the *.h file