# Hosting experiment repo on Github

**URL:** <https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443>\
**Category:** Earth System Model\
**Tags:** help\
**Created:** [29 April 2025 05:52 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443 "2025-04-29T05:52:29Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [29 April 2025 05:52 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/1 "2025-04-29T05:52:29Z")

</div>

With @spencerwong 's guidance, I/we have made some slight modifications to the ACCESS-ESM1.5 release-preindustrial+concentrations configuration to run it in pacemaker mode - where SSTs are restored to specific values each year, but all other fields evolve freely. The experiment is described here: [Experiment Proposal: Indo-Pacific pacemakers](https://forum.access-hive.org.au/t/experiment-proposal-indo-pacific-pacemakers/4227)

In the interests of open science: how should I go about sharing this set-up (and the inputs, which are a netcdf of the prescribed SSTs and a mask netcdf) on github? For context: I have barely used github so I am very sorry but I would need to be walked through the steps for hosting the experiment repo. Posting here because maybe there will be someone else in the same situation one day!

Related to this post but seeking some more detailed guidance: [Utilising GitHub effectively for experiments and configurations](https://forum.access-hive.org.au/t/utilising-github-effectively-for-experiments-and-configurations/2027)

---

<div class="post-metadata">

**Author:** ![clairecarouge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/clairecarouge/32/380_2.png) [@clairecarouge](https://forum.access-hive.org.au/u/clairecarouge)\
**Post date:** [29 April 2025 06:34 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/2 "2025-04-29T06:34:36Z")

</div>

@georgyfalster First thing is to add you to the ACCESS-Community-Hub organisation on GitHub and I need your github handle to invite you, please.

---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [30 April 2025 00:12 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/3 "2025-04-30T00:12:08Z")

</div>

Assigned @lachlanswhyborn on 30 April 2025 00:12 UTC



---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [30 April 2025 00:33 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/4 "2025-04-30T00:33:12Z")

</div>

@georgyfalster We do have a tutorial which includes a section on doing precisely this. Once your account is added to the `ACCESS-Community-Hub` organisation, first follow the steps under **Authorise with Github** [here](https://forum.access-hive.org.au/t/running-model-experiments-with-payu-and-git/2285#p-8470-authorise-with-github-40), which will authorise your Github account on Gadi. I think the following stuff under **Perturbation** is stuff you’ve already done.

Once you’ve done that, follow the steps under **Push to repo** [here](https://forum.access-hive.org.au/t/running-model-experiments-with-payu-and-git/2285#p-8470-push-to-repo-50). It looks like you have multiple branches for the different SST variability scenarios, so you’ll want to use `git push <repo_name> --all`. Note that the name you set for the `remote` is the name you’ll have to sub in for `<repo_name>`. Once this is done, it should be available for others to clone and fork on Github.

If there are any issues, please ping me and I’ll take a look.

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [30 April 2025 01:30 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/5 "2025-04-30T01:30:17Z")

</div>

thanks Claire - my github handle is georgyfalster

---

<div class="post-metadata">

**Author:** ![clairecarouge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/clairecarouge/32/380_2.png) [@clairecarouge](https://forum.access-hive.org.au/u/clairecarouge)\
**Post date:** [30 April 2025 01:40 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/6 "2025-04-30T01:40:26Z")

</div>

Invitation sent, please accept it when you can.

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [1 May 2025 23:21 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/7 "2025-05-01T23:21:39Z")

</div>

thanks - done (: I’m about to be in the lab for a couple of weeks but in any downtime I’ll have a go at following the instructions @lachlanswhyborn linked above.

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [1 May 2025 23:34 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/8 "2025-05-01T23:34:30Z")

</div>

thanks for this - one question. So I have four experiments, each with its own control directory. the tutorial says “Now you can create a repository from your perturbation experiment control directory using `gh repo create`”. So I will do this four times - once from each model control directory, and in each case with a different repo name?

I only ask cos of your comment ‘it looks like you have multiple branches for the different SST variability scenarios…’ which sort of sounded like they could all go in the same repo(?) and/or should the remote name be the same for all 4 experiments?

sorry for the basic git questions 😅

---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [2 May 2025 03:17 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/9 "2025-05-02T03:17:16Z")

</div>

Yea having one repo for each variability would work, but not ideal I think- we’d end up with many repos pretty quickly. I’ll do some playing around to see if there’s an easy way to turn each of those control directories into branches of one repository.

---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [2 May 2025 06:03 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/10 "2025-05-02T06:03:40Z")

</div>

Ok I think I have a workflow that I think will work. Perform the `Authorise with Github` and `Push to Repo` steps in one of the control directories, but don’t do the `git push <repo_name> --all` step. Once you’ve done that, go to the repository you’ve just created on ACCESS-Community-Hub (should be able to search that organisation by the `repo_name` you just used) and get the URL of the repository, we’ll call it `<repo_URL>`. Then do this in each of your other control directories:

1. `git remote add origin <repo_URL>`. This tells the current directory to point to the repository on Github as the “master” in a sense.
2. To check that this worked, do `git remote -v`. It should show that URL for `fetch` and `push`.
3. `git push --set-upstream origin <branch_name>`. This should push the current control directory as a branch to the master with the given name. Say the directory you’re in is the 30% variability reduction case, the name it something like `30pc_SST_variability_reduction`.

Hopefully this works, I might have missed a step in there, so as always, let me know if there are problems.

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [2 May 2025 11:30 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/11 "2025-05-02T11:30:04Z")

</div>

I followed the ‘Push to repo’ steps at [Running Model Experiments with payu and git](https://forum.access-hive.org.au/t/running-model-experiments-with-payu-and-git/2285#p-8470-push-to-repo-50) for one of my four model control directories but it doesn’t seem to be showing up in the ACCESS Community Hub. Did I maybe miss a step to link my repo to the community hub? The other thing is that the setup steps didn’t go exactly as per the example shown - the ‘add a remote’ and ‘push commits’ options didn’t appear. The last question to appear was ` Clone the new repository locally?` - to which I answered Y.

The new (empty) repo is on my github [georgyfalster/indo-pacific-pacemakers-sst-m60 · GitHub](https://github.com/georgyfalster/indo-pacific-pacemakers-sst-m60)

---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [2 May 2025 22:19 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/12 "2025-05-02T22:19:30Z")

</div>

Hmm, that is strange. Setting the `Repository owner` stage should have set the owning organisation to ACCESS-Community-Hub. Do you have a screenshot of the terminal you used to do the **Push a Repo** step? We’ll take a different approach to get your experiments on Github, but it would be useful for us to see where things differed from what we expected to we can adjust our instructions.

It might be easier if you manually create the repo on Github under `ACCESS-Community-Hub`- so the same thing you did for your own repo, just under the organisation (go to the organisation Github page, there should be a **New** button on the right under repositories). Probably just call it `indo-pacific-pacemakers-sst`, and then you can add the scenario designations via the branches. Once you’ve done that, follow those steps I specified with the URL of the new empty repo for the other directories (so 4 times in this case).

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [4 May 2025 23:45 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/13 "2025-05-04T23:45:35Z")

</div>

oh no sorry I’d already closed the terminal when I saw this.

but just to confirm a couple of things:

- should I delete the repo I created already before making one of the same name in the `ACCESS-Community-Hub` (and is there a ‘best way’ to do this on gadi?)
- so I should make this new repo manually on the Github website rather than following the payu steps? and then (still outside gadi/payu, still on the github website) make one branch for each of the 4 experiments? To which I will then push the experiment setups following your instructions?

Sorry - just want to be totally clear I’m doing it right before I go ahead (:

---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [4 May 2025 23:54 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/14 "2025-05-04T23:54:58Z")

</div>

No worries. Yea, should probably delete the old repository (scroll to the bottom of Settings to find that). I think manually making the repository and then pushing the 4 repos as branches will be easiest. Don’t worry about making mistakes, it’s easy enough to remove or clean up new repositories. I can’t see how anything you’d do would negatively affect others, since it’s all going to a new repository. Even when you’re working with other existing repositories, it’s usually pretty easy to fix mistakes- one of the great things about Git.

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [5 May 2025 00:35 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/15 "2025-05-05T00:35:51Z")

</div>

ok thanks I’ll give it a go. Will it be a problem that I’ve already initialised a git repo in one of my model control folders?

---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [5 May 2025 01:23 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/16 "2025-05-05T01:23:46Z")

</div>

I suspect each of the folders will already be git repositories if they were cloned via payu? You can check by doing a `git status`

---

<div class="post-metadata">

**Author:** ![cbull](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/cbull/32/2203_2.png) [@cbull](https://forum.access-hive.org.au/u/cbull)\
**Post date:** [5 May 2025 03:52 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/17 "2025-05-05T03:52:32Z")

</div>

Hi @georgyfalster,

Sorry I started writing a reply last week and then had a meeting. Just to comment that if the plan is to do this:

> Yea having one repo for each variability would work, but not ideal I think- we’d end up with many repos pretty quickly. I’ll do some playing around to see if there’s an easy way to turn each of those control directories into branches of one repository.

We set up something similar where @spencerwong wrote these handy instructions:

> **[GitHub - ACCESS-Community-Hub/access-esm1.6-dev-experiments: Archive for tracking ACCESS-ESM1.6 development...](https://github.com/ACCESS-Community-Hub/access-esm1.6-dev-experiments)**
>
> Archive for tracking ACCESS-ESM1.6 development experiments. Refer to the readme for instructions on pushing experiments to this repository

Very similar I think to what @lachlanswhyborn [has suggested](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/10) but I’m aware sometimes it’s handy to see a similar set of instructions with different words.

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [7 May 2025 05:02 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/18 "2025-05-07T05:02:41Z")

</div>

thanks - this should help because I did indeed fall at the expected hurdle when following @lachlanswhyborn 's directions above - eg running `git remote add origin https://github.com/ACCESS-Community-Hub/access-esm1.5-sst-perturbation-indo-pacific.git` from one of my model control folders gave me the error `remote origin already exists`.

But instead should I follow the instructions here? [GitHub - ACCESS-Community-Hub/access-esm1.6-dev-experiments: Archive for tracking ACCESS-ESM1.6 development experiments. Refer to the readme for instructions on pushing experiments to this repository](https://github.com/ACCESS-Community-Hub/access-esm1.6-dev-experiments) ? In which case, the only bit I am not sure about is what exactly is “esm1p6\_dev\_archive” in `git remote add esm1p6_dev_archive git@github.com:ACCESS-Community-Hub/access-esm1.6-dev-experiments`? The rest of the steps I think I can figure out. again, sorry to be so slow with this - I always seem to run into the same sorts of errors when trying to use git (eg the one above!!) which is what has always put me off learning to use it properly

---

<div class="post-metadata">

**Author:** ![lachlanswhyborn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/lachlanswhyborn/32/1837_2.png) [@lachlanswhyborn](https://forum.access-hive.org.au/u/lachlanswhyborn)\
**Post date:** [7 May 2025 05:31 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/19 "2025-05-07T05:31:56Z")

</div>

You might be able to do `git remote remove origin` to unlink to the original remote origin, and then allow it to point to a new one. Don’t worry, Git can often be quite finicky even for people that use it a lot e.g. myself. This is something that I’d say is beyond basic Git usage- some people get to go through the usual process of learning Git from basics, learning the structures and how things work under the wood.

In those linked instructions, the `esm1p6_dev_archive` is a local name for the remote repository. It’s possible to link a local repository (e.g. your experiment directory) to multiple “remotes”- repositories hosted on Github. It will only become important if you make changes to your configuration and want to push them to Github (and if you have only one remote attached to your repository, I suspect you won’t have to worry about it, I’ve actually never needed multiple remotes for a local repository so I’m not 100% sure).

You should be able to follow the instructions at the link, replacing `esm1p6_dev_archive` with a name that is meaningful to you (and setting the right URL for your repo). Just be careful if you ever want to make changes- the `origin` remote will still be linked, and you’ll probably have to specify exactly where you want to push any changes to.

---

<div class="post-metadata">

**Author:** ![georgyfalster](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/georgyfalster/32/2293_2.png) [@georgyfalster](https://forum.access-hive.org.au/u/georgyfalster)\
**Post date:** [7 May 2025 06:40 UTC](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443/20 "2025-05-07T06:40:32Z")

</div>

aaccchh sorry so that worked to remove the existing remote BUT git is still being finicky (I must say this process is not increasing my git enthusiasm aha).

Apparently now I don’t have permissions, but I think I’m logged in ok. Do I need to make the branch manually here first? [GitHub - ACCESS-Community-Hub/access-esm1.5-sst-perturbation-indo-pacific: Magnitude of tropical Indian and Pacific ocean SST variability altered relative to ACCESS-ESM1.5 preindustrial control](https://github.com/ACCESS-Community-Hub/access-esm1.5-sst-perturbation-indo-pacific)

Here’s a screenshot in case it’s something glaringly obvious - but i think I just followed the linked instructions.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/access1/original/2X/e/e7e3e28f8a8f4533cf4144e48c457a84e9d13cda.png)

[Next page](https://forum.access-hive.org.au/t/hosting-experiment-repo-on-github/4443.md?page=2)
