[MITgcm-support] MITgcm-support Digest, Vol 244, Issue 2

赖燕红 yhlai at pku.edu.cn
Tue Oct 10 21:54:40 EDT 2023


Hi Martin,
I think your suggestions will be very helpful for me, I did not know the rbcs package before, and it seems to realize my goal.
I will try the rbcs package and ksol both, hope they can work.
Thanks you very much!

Best,
Yanhong


> -----原始邮件-----
> 发件人: mitgcm-support-request at mitgcm.org
> 发送时间: 2023-10-11 00:00:03 (星期三)
> 收件人: mitgcm-support at mitgcm.org
> 抄送: 
> 主题: MITgcm-support Digest, Vol 244, Issue 2
> 
> Send MITgcm-support mailing list submissions to
> 	mitgcm-support at mitgcm.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
> or, via email, send a message with subject or body 'help' to
> 	mitgcm-support-request at mitgcm.org
> 
> You can reach the person managing the list at
> 	mitgcm-support-owner at mitgcm.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of MITgcm-support digest..."
> 
> 
> Today's Topics:
> 
>    1. How to reduce zonal velocity to zero in regions where
>       temperature is lower than a critical value? (???)
>    2. Re: How to reduce zonal velocity to zero in regions where
>       temperature is lower than a critical value? (Martin Losch)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Tue, 10 Oct 2023 10:05:31 +0800 (GMT+08:00)
> From: ??? <yhlai at pku.edu.cn>
> To: mitgcm-support at mitgcm.org
> Subject: [MITgcm-support] How to reduce zonal velocity to zero in
> 	regions where temperature is lower than a critical value?
> Message-ID: <21f99bbb.3a558.18b17550ad9.Coremail.yhlai at pku.edu.cn>
> Content-Type: text/plain; charset="utf-8"
> 
> Hello everyone!
> 
> 
> 
> 
> I want to reduce u and v to zero in regions where the temperature is lower than 1700 K.
> 
> I tried to realize this goal by adding a linear drag in model/src/apply_forcing.F,
> 
> and the following codes are added in the subroutine APPLY_FORCING_U
> 
> 
> 
> 
> %%%%%%%%%%%%
> 
>       _RL     T_sol
>       _RL     k_sol
> 
>       T_sol = 1700
>       k_sol = 1/86400
> 
> 
> 
> 
>        DO j=0,sNy+1
>         DO i=1,sNx+1
>          IF ( theta(i,j,k,bi,bj) .LE. T_sol ) THEN
>           gU_arr(i,j) = gU_arr(i,j)
>      &      -uVel(i,j,k,bi,bj)*k_sol
>          ENDIF
>         ENDDO
>        ENDDO
> %%%%%%%%%%%
> But these codes seems do not work, and results are the same to the case without these additional codes, 
> that is to say U in regions with T<T_sol did not reduce to zero,
> Do you know what's wrong with these codes?
> Or is it possible to directly set the velocity equal to zero in regions where temperature below 1700 K ?
>  
> 
> Looking forward to your suggestions! Thanks in advance.
> 
> Best,
> 
> Yanhong 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20231010/622bbadd/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 2
> Date: Tue, 10 Oct 2023 09:50:13 +0200
> From: Martin Losch <Martin.Losch at awi.de>
> To: MITgcm Support <mitgcm-support at mitgcm.org>
> Subject: Re: [MITgcm-support] How to reduce zonal velocity to zero in
> 	regions where temperature is lower than a critical value?
> Message-ID: <7CE2EE1A-ABA6-489A-AE90-551333D1D8B9 at awi.de>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi Yanhong,
> 
> I think that you have the right idea. Your term looks like a restoring term to zero (0 - vVel)*ksol and provided that you actually use apply_forcing_u (check if the preprocessed file appy_forcing.f contains your code still), it should work. Try with k_sol=1/deltaT (which should almost be like setting uVel to zero in the absence of other forcing) or k_sol = 1/(2*deltaT) to see if there?s any effect.
> 
> A different way without editing the main code would be to use the rbcs package, where you could specify a field of ksol and add a condition in rbcs_add_tendency.F, maybe that?s a little ?safer??
> 
> Martin
> 
> 
> > On 10. Oct 2023, at 04:05, ??? <yhlai at pku.edu.cn> wrote:
> > 
> > Hello everyone!
> > 
> > 
> > 
> > I want to reduce u and v to zero in regions where the temperature is lower than 1700 K.
> > 
> > I tried to realize this goal by adding a linear drag in model/src/apply_forcing.F,
> > 
> > and the following codes are added in the subroutine APPLY_FORCING_U
> > 
> > 
> > 
> > %%%%%%%%%%%%
> > 
> >       _RL     T_sol
> >       _RL     k_sol
> > 
> >       T_sol = 1700
> >       k_sol = 1/86400
> > 
> > 
> > 
> >        DO j=0,sNy+1
> >         DO i=1,sNx+1
> >          IF ( theta(i,j,k,bi,bj) .LE. T_sol ) THEN
> >           gU_arr(i,j) = gU_arr(i,j)
> >      &      -uVel(i,j,k,bi,bj)*k_sol
> >          ENDIF
> >         ENDDO
> >        ENDDO
> > %%%%%%%%%%%
> > But these codes seems do not work, and results are the same to the case without these additional codes, 
> > that is to say U in regions with T<T_sol did not reduce to zero,
> > Do you know what's wrong with these codes?
> > Or is it possible to directly set the velocity equal to zero in regions where temperature below 1700 K ?
> >  
> > 
> > Looking forward to your suggestions! Thanks in advance.
> > 
> > Best,
> > 
> > Yanhong 
> > _______________________________________________
> > MITgcm-support mailing list
> > MITgcm-support at mitgcm.org
> > http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20231010/caa74289/attachment-0001.html>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
> 
> 
> ------------------------------
> 
> End of MITgcm-support Digest, Vol 244, Issue 2
> **********************************************


More information about the MITgcm-support mailing list