Working Channel Testcase for GOTM 4.1 (developers version)

111 views
Skip to first unread message

Felix Buck

unread,
Dec 15, 2011, 5:55:20 AM12/15/11
to GOTM-users
Hello GOTM community,

I am currently working on some small changes for GOTM and i would like
to verify those. To this end Hans Burchard advised me to use the
Channel testcase. I asked various people at the IOW, but most are not
that familiar with the exact changes that need to be done to port this
scenario from 4.0 to 4.1, the most common response was to ask here.

Personally i would prefer a small tutorial instead, because i need to
get acquainted with running a custom scenario in the future anyways,
but on the other hand such a tutorial will probably take more time for
any person willing to help, than just porting the scenario by him- or
herself.


With regards,
Felix Buck.

Karsten Bolding

unread,
Dec 15, 2011, 7:12:25 AM12/15/11
to gotm-...@googlegroups.com
Hello

You can do a 'git pull' in gotm-cases/

The channel test case has been updated to use .xml based configuration
files.

make kepsilon | make komega | make MellorYamada will make namelists and
run gotm - gotm must be in the path to work. I put a link in ~/bin.

make run_all will do all 3.

Karsten

--
http://www.gotm.net/

Felix Buck

unread,
Dec 15, 2011, 9:10:57 AM12/15/11
to GOTM-users
Ok, just to be sure i did:
1)
git reset --hard HEAD
git clean -df
git pull
in .../gotm/gotm-cases-git
(i had some modified and old files in there)

to verify i did:
git status
and i should be at the repository version (with the most recent update
done by you, today).

2)
go to ../gotm/gotm-cases-git/channel copy a link of the compiled gotm
executable in there (renamed to just 'gotm')

3)
make run_all
i now get the xml files for kepsilon, komega and MellorYamada, but i
also get an error like this:

...
gotm/gotm-git/gui.py/xmlstore/xmlstore.py", line 1644, in getDataType
assert datatype is not None,'Unknown data type "%s" requested.' %
name
AssertionError: Unknown data type "gotmdatafile" requested.
make[1]: *** [namelist] Error 1
make[1]: Leaving directory `/home/felix/work/tools/gotm/gotm-cases-git/
channel'
make: *** [kepsilon] Error 2

now, this could be due to the fact that i added variables in the
namelists within the gotm source code, so i have to amend the xml
files.
On the other hand i have the suspicion that i miss something obvious.


edit:
i recompiled gotm (repeated step 1 for it, so it uses the repository
files and my modified ones) and put the executable into the channel
testcase
(renamed it to gotm) and got the same error as above.

On Dec 15, 1:12 pm, Karsten Bolding <kars...@bolding-burchard.com>
wrote:

Felix Buck

unread,
Dec 15, 2011, 9:37:34 AM12/15/11
to GOTM-users
Addendum:

in the above message it should read:


i recompiled gotm (repeated step 1 for it, so it uses the repository

files and NOT [sic] my modified ones) and put the executable into the
channel
testcase

when i simply ignore the error in 3) and
simply run gotm: ./gotm
i get:

init_meanflow
reading meanflow namelists..
FATAL ERROR: I could not read "meanflow" namelist
STOP init_meanflow

Karsten Bolding

unread,
Dec 15, 2011, 9:49:46 AM12/15/11
to gotm-...@googlegroups.com
On Thu, Dec 15, 2011 at 06:10:57 -0800, Felix Buck wrote:

<snip>

>
> 2)
> go to ../gotm/gotm-cases-git/channel copy a link of the compiled gotm
> executable in there (renamed to just 'gotm')

is . in you path? otherwise you will not pick up executables in the
ciurrent directory.

>
> 3)
> make run_all
> i now get the xml files for kepsilon, komega and MellorYamada, but i
> also get an error like this:

the .xml files shpould all be there - based on those namelists will be
made - look in the Makefile to see how it works.

>
> ...
> gotm/gotm-git/gui.py/xmlstore/xmlstore.py", line 1644, in getDataType
> assert datatype is not None,'Unknown data type "%s" requested.' %
> name
> AssertionError: Unknown data type "gotmdatafile" requested.
> make[1]: *** [namelist] Error 1
> make[1]: Leaving directory `/home/felix/work/tools/gotm/gotm-cases-git/
> channel'
> make: *** [kepsilon] Error 2

is python, editscenario and the GOTM source all up to date.

>

Karsten

--
http://www.gotm.net/

Karsten Bolding

unread,
Dec 15, 2011, 9:51:10 AM12/15/11
to gotm-...@googlegroups.com
On Thu, Dec 15, 2011 at 06:37:34 -0800, Felix Buck wrote:
> Addendum:
>
> in the above message it should read:
> i recompiled gotm (repeated step 1 for it, so it uses the repository
> files and NOT [sic] my modified ones) and put the executable into the
> channel
> testcase
>
> when i simply ignore the error in 3) and
> simply run gotm: ./gotm
> i get:
>
> init_meanflow
> reading meanflow namelists..
> FATAL ERROR: I could not read "meanflow" namelist
> STOP init_meanflow

So the generated meanflow namelist is not in agreement with the source
code - it is an error message from GOTM.
>
>

Karsten

--
http://www.gotm.net/

Jorn Bruggeman

unread,
Dec 15, 2011, 10:59:51 AM12/15/11
to gotm-...@googlegroups.com
Hi Felix,

> gotm/gotm-git/gui.py/xmlstore/xmlstore.py", line 1644, in getDataType
> assert datatype is not None,'Unknown data type "%s" requested.' %
> name
> AssertionError: Unknown data type "gotmdatafile" requested.

This likely happens because either environment variable GOTMDIR is not set
(correctly), or your python installation does not include numpy. Can that be
the case?

Jorn


Felix Buck

unread,
Dec 16, 2011, 6:10:28 AM12/16/11
to GOTM-users
First let me thank you for you patient replies, now concerning your
points:

>This likely happens because either environment variable GOTMDIR is not set
>(correctly),

>is . in you path? otherwise you will not pick up executables in the
>ciurrent directory.

GOTMDIR has been set in bashrc to:
export GOTMDIR=~/work/tools/gotm/gotm-git

the folder structure looks like:
~/work/tools/gotm
and then it branches into
~/work/tools/gotm/gotm-git
and
~/work/tools/gotm/gotm-cases-git
i assume the entry in bashrc is correct then.


>or your python installation does not include numpy. Can that be
>the case?

sudo apt-get install python-numpy
did indeed add 3 new files.

reseting (see point 1 above) gotm-git and gotm-cases-git, recompiling
the source code, putting the link the gotm executable in the channel
folder and
make run all
results in the following error:

make[1]: Entering directory `/home/felix/work/tools/gotm/gotm-cases-
git/channel'

running gotm

gotm 2> log.channel
make[1]: *** [run] Error 127


make[1]: Leaving directory `/home/felix/work/tools/gotm/gotm-cases-git/
channel'
make: *** [kepsilon] Error 2

felix@phy-91:~/work/tools/gotm/gotm-cases-git/channel$


however, when i then run gotm:
./gotm
it runs fine without any error messages and i get the kepsilon.nc
do i have to be worried about the error above or should i be happy
that i got the *.nc file and part of my sanity back?

>is python, editscenario and the GOTM source all up to date

python should be fine (it does get automatically updated with the
ubuntu update manager i assume) as well as gotm (see above)
editscenario.py is in the parent directory of gotm:
~/work/tools/editscenario.py
this is not a git repository however, so i can not verify if it is up
to date. looking at the file properties just tells me that the last
edit to this file was on Wed 30 Mar 2011

Felix

On Dec 15, 4:59 pm, "Jorn Bruggeman" <j...@bolding-burchard.com>
wrote:

Karsten Bolding

unread,
Dec 16, 2011, 11:40:32 AM12/16/11
to gotm-...@googlegroups.com
Hello

On Fri, Dec 16, 2011 at 03:10:28 -0800, Felix Buck wrote:

<snip>

>

> GOTMDIR has been set in bashrc to:
> export GOTMDIR=~/work/tools/gotm/gotm-git
>
> the folder structure looks like:
> ~/work/tools/gotm
> and then it branches into
> ~/work/tools/gotm/gotm-git
> and
> ~/work/tools/gotm/gotm-cases-git
> i assume the entry in bashrc is correct then.

This should be OK - even though not the suggested directory layout.

>

<snip>

> running gotm
>
> gotm 2> log.channel
> make[1]: *** [run] Error 127
> make[1]: Leaving directory `/home/felix/work/tools/gotm/gotm-cases-git/
> channel'
> make: *** [kepsilon] Error 2
> felix@phy-91:~/work/tools/gotm/gotm-cases-git/channel$

did you have a look in log.channel - I'm pretty sure it relates to gotm
not being found. Thats why I asked if the gotm executable is in your
path.

>
> however, when i then run gotm:
> ./gotm
> it runs fine without any error messages and i get the kepsilon.nc
> do i have to be worried about the error above or should i be happy
> that i got the *.nc file and part of my sanity back?

and now you have specified where gotm is - and it will run.

I'll suggest you do:
cd && cd bin && ln -s $GOTMDIR/bin/gotm_<rest_of_name> gotm
and be sure ~/bin is in your path.

>
> >is python, editscenario and the GOTM source all up to date
> python should be fine (it does get automatically updated with the
> ubuntu update manager i assume) as well as gotm (see above)
> editscenario.py is in the parent directory of gotm:
> ~/work/tools/editscenario.py

cd
git clone git://bbh.honelinux.net/editscenario editscenario
cd bin && ln -s ../editscenario/editscenario.py
be sure the file is executable and delte the old version

>
> Felix
>

Karsten

--
http://www.gotm.net/

Felix Buck

unread,
Dec 19, 2011, 5:55:34 AM12/19/11
to GOTM-users
>and now you have specified where gotm is - and it will run.

>I'll suggest you do:
>cd && cd bin && ln -s $GOTMDIR/bin/gotm_<rest_of_name> gotm
>and be sure ~/bin is in your path.

you are right, the log.channel told me that gotm was not in /bin, so i
simply copied the executable there and it works fine now.

>cd
>git clone git://bbh.honelinux.net/editscenario editscenario
>cd bin && ln -s ../editscenario/editscenario.py
>be sure the file is executable and delte the old version

typing this command


git clone git://bbh.honelinux.net/editscenario editscenario

yields the error:
fatal: Unable to look up bbh.honelinux.net (port 9418) (Name or
service not known)

on the other hand, the channel case and the changes i made to the gotm
source code work just fine.

in any case many thanks for all the help :)
Felix

On Dec 16, 5:40 pm, Karsten Bolding <kars...@bolding-burchard.com>
wrote:

Karsten Bolding

unread,
Dec 19, 2011, 7:34:25 AM12/19/11
to gotm-...@googlegroups.com
On Mon, Dec 19, 2011 at 02:55:34 -0800, Felix Buck wrote:

<snip>

>

> typing this command
> git clone git://bbh.honelinux.net/editscenario editscenario

should have been bbh.homelinux.net


> yields the error:
> fatal: Unable to look up bbh.honelinux.net (port 9418) (Name or
> service not known)
>

Karsten

--
http://www.gotm.net/

Felix Buck

unread,
Dec 19, 2011, 8:23:52 AM12/19/11
to GOTM-users
I deleted the old editscenario.py and put the new one in its place
and, just to be sure, did the same thing with the link to this file
in /bin and everything works fine now.

I guess the biggest problem, for me and other beginners, is not GOTM
itself (fortran is quite intuitive to me), but getting accustomed to
ubuntu/linux, for
example i would never found out that the default python installation
that came with ubuntu was missing numpy
I could tell many tales about ubuntus user friendliness by now -.-


Be that as it may i wish you all happy holidays and many thanks,
Felix.

On Dec 19, 1:34 pm, Karsten Bolding <kars...@bolding-burchard.com>
wrote:

Karsten Bolding

unread,
Dec 19, 2011, 8:52:17 AM12/19/11
to gotm-...@googlegroups.com
On Mon, Dec 19, 2011 at 05:23:52 -0800, Felix Buck wrote:

<snip>

> I guess the biggest problem, for me and other beginners, is not GOTM


> itself (fortran is quite intuitive to me), but getting accustomed to
> ubuntu/linux, for
> example i would never found out that the default python installation
> that came with ubuntu was missing numpy
> I could tell many tales about ubuntus user friendliness by now -.-

but GOTM runs on Windows or Mac - so use platform of your choice. And
this mailing list is in principle not for sorting out OS-issues.


Karsten

--
http://www.gotm.net/

Reply all
Reply to author
Forward
0 new messages