ROMS coupled to CICE

Discussion about modeling ice with ROMS

Moderators: arango, robertson

Post Reply
Message
Author
nilsmk
Posts: 1
Joined: Wed Nov 25, 2009 3:37 pm
Location: met.no

ROMS coupled to CICE

#1 Unread post by nilsmk »

Hi,

As some of you might already know, a group of scientists here in Norway have been working on a coupling of ROMS and CICE.
The development is not finished yet (will it ever be..?), but due to an increased interest in the subject, we have decided to release the code to the public. We have called the system MetROMS (from MET Norway, the Norwegian Meteorological institute), and the main contributors to the work is MET Norway and Akvaplan NIVA. The code is hosted at GitHub: https://github.com/metno/metroms
MetROMS is based on ROMS 3.6, CICE 5.1.2 and MCT 2.9 (sources included as tar-files), and also include a python framework/script system for running ROMS.

We have successfully run the system on domains covering the Arctic, at resolutions of 20km and 4km.

Enjoy!

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS coupled to CICE

#2 Unread post by kate »

FYI, the CICE Consortium has met. I learned a few things about it at AGU last week:

* The new pronunciation of CICE is "sice", not "sea ice".
* It will likely show up on github as two repositories, one the vertical column package called "icepack" which will be a git submodule of the other. The proper thing for us to do is to make them both submodules of a coupled model repo (no tarballs!). MCT should also be a submodule, ROMS too.
* Coupling intervals using daily averages works fine. If you want to resolve diurnal cycles, best to get to two hours or under for coupling intervals.
* For parallel codes, make small blocks and use round-robin layout. That way each process can have both tropical small blocks and polar small blocks. Actually, since MetROMS can't have all-land blocks, this might not be such a good idea for us.

saikat12
Posts: 5
Joined: Wed Feb 16, 2022 4:34 pm
Location: IIT Delhi

Re: ROMS coupled to CICE

#3 Unread post by saikat12 »

Dear all,

I am using metroms and trying to run the test case arctic-4km. I successfully built myenv.bash and build_mct.sh. Also I did ./build_cice.sh and ./build_roms.sh and it creates ~/tmproms/run/arctic-4km/oceanM.

There are only coupling.dat, oceanM and /cice in the ~/metroms/tmproms/run/arctic-4km directory.

Where should I create the input netcdf files for grid, forcing, boundary etc. and which .in file should I use?

Thanks in advance.

Regards,
Saikat

bilge.tutak
Posts: 20
Joined: Wed Jun 04, 2014 1:45 pm
Location: Istanbul Technical University

Re: ROMS coupled to CICE

#4 Unread post by bilge.tutak »

Hi,
You should check the common/python/ directory. There is a file called Params.py inside that directory. All the adjustable settings are regarding the simulation are hold at that file.

If I remember correctly it might be a directory named data/ at the same level as the apps/ directory. Even if not, you can adjust it inside the Params.py file.

The roms.in file is created from the file common/orig_files/roms*.

saikat12
Posts: 5
Joined: Wed Feb 16, 2022 4:34 pm
Location: IIT Delhi

Re: ROMS coupled to CICE

#5 Unread post by saikat12 »

Dear Bilge,

Thank you. I checked the common/python/ directory and and params.py. Did you have any idea how to create the atmospheric forcing, initial conditions and boundary conditions?

bilge.tutak
Posts: 20
Joined: Wed Jun 04, 2014 1:45 pm
Location: Istanbul Technical University

Re: ROMS coupled to CICE

#6 Unread post by bilge.tutak »

HI Saikat,
If you are asking about the CICE input forcing/boundary conditions I believe you only need initial condition file different than the ROMS files. I think CICE can use the same atmospheric forcing file.

In order to create an initial file for CICE, there is a directory in the metroms called tools. Inside the tools there has to be a script "roms_ini_to_cice.py". That should take the ROMS ini file and convert it to CICE one. I am not exactly sure about the usage though.

I am in the process of setting up a simulation. Although I have compiled the models successfully, I haven't been able to run them past couple time steps. So any information from me you should take it with a grain of salt :roll: .

Good luck,
Bilge.

saikat12
Posts: 5
Joined: Wed Feb 16, 2022 4:34 pm
Location: IIT Delhi

Re: ROMS coupled to CICE

#7 Unread post by saikat12 »

Hi Bilge,

I am not familiar with RUTGERS version, previously I used ROMS Agrif version. Can you please tell me how to create forcing, boundary or initial condition for ROMS also.

Thank you.

Saikat

bilge.tutak
Posts: 20
Joined: Wed Jun 04, 2014 1:45 pm
Location: Istanbul Technical University

Re: ROMS coupled to CICE

#8 Unread post by bilge.tutak »

Hi Saikat,
I am using the MATLAB tools inside the ROMS svn.
In https://www.myroms.org/wiki/Subversion you can find information on downloading source/matlab codes etc.

Besides that you might have to check the Data directory in ROMS/trunk/Data. It has examples and .cdl file to generate netCDF files from scratch.

I can also suggest you first run your model without the ice, if you have no experience with the model.

Bilge.

saikat12
Posts: 5
Joined: Wed Feb 16, 2022 4:34 pm
Location: IIT Delhi

Re: ROMS coupled to CICE

#9 Unread post by saikat12 »

Hi Bilge,

Thank you very much for your reply. I create a grid file over a small region (30W-30E, 60-80N, 1/4 degree resolution, 32 sigma levels) using ROMS Agrif. I also create forcing, climatology, boundary, and initial files for that grid and it runs in the Agrif model.
Now I want to use these grid and input files in MetROMS and want to include CICE. I think I have to modify the params.py file.

If someone has any idea then please suggest.

Thanks,
Saikat

saikat12
Posts: 5
Joined: Wed Feb 16, 2022 4:34 pm
Location: IIT Delhi

Re: ROMS coupled to CICE

#10 Unread post by saikat12 »

Hello everyone,

I got an error in the terminal, while I running the MetROMS. However, the log file does not contain any error massage. The following error massage are showing in the terminal:

MPI_ABORT was invoked on rank 26 in communicator MPI_COMM_WORLD
with errorcode 128.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[vimlesh-Precision-Tower-7910:1457035] 15 more processes have sent help message help-mpi-api.txt / mpi-abort
[vimlesh-Precision-Tower-7910:1457035] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

It may be due to the MPI, so I reinstalled the openmpi and again compile the model. But, I received the same error.

If you have any idea then please share.

Thanks in advance,
Saikat

Joeailvyou
Posts: 26
Joined: Wed Jul 19, 2017 4:03 pm
Location: Zhejiang University

Re: ROMS coupled to CICE

#11 Unread post by Joeailvyou »

saikat12 wrote: Wed Mar 30, 2022 1:02 pm Hello everyone,

I got an error in the terminal, while I running the MetROMS. However, the log file does not contain any error massage. The following error massage are showing in the terminal:

MPI_ABORT was invoked on rank 26 in communicator MPI_COMM_WORLD
with errorcode 128.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
[vimlesh-Precision-Tower-7910:1457035] 15 more processes have sent help message help-mpi-api.txt / mpi-abort
[vimlesh-Precision-Tower-7910:1457035] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

It may be due to the MPI, so I reinstalled the openmpi and again compile the model. But, I received the same error.

If you have any idea then please share.

Thanks in advance,
Saikat
Dear saikat,
I have compiled METROMS. But now, I have the same problems you have faced with. Have you solved it and How can I make forcing file for CICE ? Do I need to create specific atmospheric forcing .nc file for CICE, or CICE can read forcing .nc file prepared for the ROMS ? What is the usage of tools/create_time_index.py ? It need .nc file and then create .txt file, but the atmospheric forcing for ROMS doesn't contain cldf and rhoa.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS coupled to CICE

#12 Unread post by kate »

My https://github.com/kshedstrom/roms repo has a metroms branch which I believe solves the forcing file problem.

Note that this code is completely unsupported!

bilge.tutak
Posts: 20
Joined: Wed Jun 04, 2014 1:45 pm
Location: Istanbul Technical University

Re: ROMS coupled to CICE

#13 Unread post by bilge.tutak »

Hi Kate,

I was able to compile your version of the metroms.

However, it still doesn't exchange the atmospheric forcing information from ROMS to CICE and CICE still wants to read the atmospheric data file.
Was there a specific CPP option or forcing parameter that had to be set for ROMS to send the ROMS atmospheric parameters to CICE during MCT exchange?

I have checked the ice_in template and arctic-20km ROMS header files, but didn't notice any.

Thank you,

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS coupled to CICE

#14 Unread post by kate »

I’m sorry, I don’t remember what I had done there. I’m not at home this week to look into it either.

bilge.tutak
Posts: 20
Joined: Wed Jun 04, 2014 1:45 pm
Location: Istanbul Technical University

Re: ROMS coupled to CICE

#15 Unread post by bilge.tutak »

No worries Kate,

I have setup the additional export variables from ROMS to CICE in roms.in. At least now I can see the Coupler message of whole export list. Maybe its just expecting a dummy file name :).

bilge.tutak
Posts: 20
Joined: Wed Jun 04, 2014 1:45 pm
Location: Istanbul Technical University

Re: ROMS coupled to CICE

#16 Unread post by bilge.tutak »

Hi All,

I am experiencing an error with inquire.F. The error is, it is trying to create/read a file (which it really shouldn't). I haven't set to output to quick file but getting this,
Screenshot 2023-05-01 152633.jpg
I am adding this as an image, because, the garbage part before the file path depends on the terminal I use.
I was guessing this to be a problem with the input file, but the file name and path is correct, but somehow an additional garbage shows up.

Has anybody seen this type garbage added to path/file names ?

Code is Kate's metroms - forcing branch.

Thank you.

Joeailvyou
Posts: 26
Joined: Wed Jul 19, 2017 4:03 pm
Location: Zhejiang University

Re: ROMS coupled to CICE

#17 Unread post by Joeailvyou »

Dear Kate,
I noticed that you have ever tried METROMS.
When I build and run roms standalone , everything gose well. But If I mpirun oceanG after build ROMS coupled with CICE (i.e. the METROMS https://github.com/metno/metroms), it turned forrtl: severe (174): SIGSEGV, segmentation fault occurred.
Could you please help me out ? I have tried many ways but still not solved it. I have upload my output log file and in file:
https://github.com/joeailvyou/METROMS-output-log
I did have tried debug mode, (in coupled to CICE), the error is not detail enouth:

Code: Select all

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
oceanG             00000000012153C1  Unknown               Unknown  Unknown
oceanG             0000000001213B17  Unknown               Unknown  Unknown
libmpi.so.12       00002AF06FB10762  Unknown               Unknown  Unknown
libmpi.so.12       00002AF06FB105B6  Unknown               Unknown  Unknown
libmpi.so.12       00002AF06FAFEE1C  Unknown               Unknown  Unknown
libmpi.so.12       00002AF06FAE07C8  Unknown               Unknown  Unknown
libpthread.so.0    00002AF07015B5E0  Unknown               Unknown  Unknown
oceanG             0000000000FD44A8  Unknown               Unknown  Unknown
oceanG             0000000000FD156C  Unknown               Unknown  Unknown
oceanG             0000000000FBC6FC  Unknown               Unknown  Unknown
oceanG             0000000000F13600  Unknown               Unknown  Unknown
oceanG             0000000000408403  MAIN__                    106  master.f90
oceanG             0000000000406DCE  Unknown               Unknown  Unknown
libc.so.6          00002AF07058DC05  Unknown               Unknown  Unknown
oceanG             0000000000406CD9  Unknown               Unknown  Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
oceanG             00000000012153C1  Unknown               Unknown  Unknown
oceanG             0000000001213B17  Unknown               Unknown  Unknown
libmpi.so.12       00002B8F2D10F762  Unknown               Unknown  Unknown
libmpi.so.12       00002B8F2D10F5B6  Unknown               Unknown  Unknown
libmpi.so.12       00002B8F2D0FDE1C  Unknown               Unknown  Unknown
libmpi.so.12       00002B8F2D0DF7C8  Unknown               Unknown  Unknown
libpthread.so.0    00002B8F2D75A5E0  Unknown               Unknown  Unknown
oceanG             0000000000FD44A8  Unknown               Unknown  Unknown
oceanG             0000000000FD156C  Unknown               Unknown  Unknown
oceanG             0000000000FBC6FC  Unknown               Unknown  Unknown
oceanG             0000000000F13600  Unknown               Unknown  Unknown
oceanG             0000000000408403  MAIN__                    106  master.f90
oceanG             0000000000406DCE  Unknown               Unknown  Unknown
libc.so.6          00002B8F2DB8CC05  Unknown               Unknown  Unknown
oceanG             0000000000406CD9  Unknown               Unknown  Unknown
real 0.49
user 5.06
sys 5.64
Attachments
ice.in
(10.08 KiB) Downloaded 720 times
cice_stdout.txt
(178 Bytes) Downloaded 763 times
cice_nu_diag.txt
(20.8 KiB) Downloaded 692 times
pbs_roms.txt
(493 Bytes) Downloaded 705 times
varinfo.dat
(149.81 KiB) Downloaded 680 times
roms.in
(95.07 KiB) Downloaded 674 times
out_txt.txt
(2.85 KiB) Downloaded 723 times
out_log.log
(28.15 KiB) Downloaded 707 times
out_err.txt
(2.83 KiB) Downloaded 727 times
coupling.dat
(9.94 KiB) Downloaded 679 times

caskaus
Posts: 2
Joined: Thu Apr 14, 2022 12:53 pm
Location: Indian Institute of Science

Re: ROMS coupled to CICE

#18 Unread post by caskaus »

Hi,

I had a few doubts regarding the ROMS-CICE coupling using the METROMS version. Can anyone tell me where to find the initial and forcing files for the ARCTIC-20KM example?

I saw the git: https://github.com/joeailvyou/METROMS-output-log and prepared my roms.in file as per that.

I'll be grateful for any help reagrding this matter.

Thanking you,

Kaushik

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS coupled to CICE

#19 Unread post by kate »

This is the forum for the Rutgers ROMS code. I don't know if the person running a 20 km Arctic is reading this forum. Do you have a way to contact them directly?

These big files are a real pain to host and transfer.

caskaus
Posts: 2
Joined: Thu Apr 14, 2022 12:53 pm
Location: Indian Institute of Science

Re: ROMS coupled to CICE

#20 Unread post by caskaus »

Dear kate,

I didn't find anyone who has run the ARCTIC 20KM case. I had emailed Nils (from metroms) but I didn't get any reply from him. That's when I found this thread and posted my question here.
If you can guide me on how to prepare the Initial, Forcing, and Boundary files for the CICE, it'll be helpful.

thanking you,

Kaushik

User avatar
arango
Site Admin
Posts: 1367
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: ROMS coupled to CICE

#21 Unread post by arango »

We started interfacing ROMS with the UFS-coastal framework. The basic connectivity is working well. We still have to develop the testing applications. So far, the DATA-ROMS coupled components are working as the first step to couple with ESMF/NUOPC-based CDEPS/CMEPS. We use Hurricane Irene to test the CDEPS coupling connectors and CMEPS coupling mediator. We next develop the DATA_FV3-ROMS, CICE6-ROMS, and WW3-ROMS coupling systems and testing applications. In principle, we can couple with any of the components available in the UFS interface in the future:

https://github.com/oceanmodeling/ufs-co ... oastal_app

You need to be patient, and we will announce when the prototypes are ready for community use in due time.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: ROMS coupled to CICE

#22 Unread post by kate »

I am not running METROMS and I'm not able to help out either. Out of the box, CICE5 has no open boundary conditions. The Norwegians have added some to their code and they wrote a paper about it, but the last I heard, Elizabeth Hunke was hoping for a pull request from them for the code. For the forcing, I was hacking on the coupling between ROMS and CICE so that ROMS would pass winds, etc. to CICE instead of having it read them on its own. I don't remember if I got that to work, but it would in some neglected branch of my github ROMS.

The Australians were more into METROMS than I ever was, but I don't know what they are up to now.

Post Reply